使用jQuery的ajax的post与get发送数据到指定url

针对上一篇JQuery学习中使用JQuery和Prototype整合使JQuery的tab实现局部数据,使用Prototype的Ajax中方法,现在使用JQuery实现同样的功能,如下:

jquery.js下载地址:http://dl.javaeye.com/topics/download/f961ee8e-24fb-32b5-830a-b18e471e42f9

jQuery真是个非常强大的类库,今天学习了一下,爱上了,讲下jQuery中ajax使用方法.

例子:

test.html

页面引用<script type="text/javascript" src="jquery.js"></script>

内容有:

<div id="my400800">Hello World!</div>
 

用法1:(页面载入时读取远程页面内容到divMsg)

$("#my400800").load(http://www.my400800.cn, { "resultType": "html" });

返回类型resultType有如下几种:

"xml", "html", "script", "json", "jsonp", "text"

用法2:(点击post数据返回数据)

<input type="button" id="bnajax" value="ajax" onclick="ajaxTest()" />

<script type="text/javascript" >

 function ajaxTest()
 {
  $.post("http://www.my400800.cn", { "searchKey": "400电话" },function(data)
  {
   $("#my400800").html(data);
  }
  );
 }

</script>

下面是摘自网络的函数:

post方法如下:

function test(access_url, tipE){

$.post(access_url,{
first: "test1", second: "test2"
}, function(data){
if(data.success){
$('#' + tipE).html('处理成功');
}else{
$('#' + tipE).html(data.msg);
}
},'json'
)
}
 


如果想用get方法,则把post换为get就可以了,挺简单!

这个函数中data值为服务端返回的值,且为JSON格式,当然了,这里可以用其他类型,如text,xml等等之类。

服务端返回值是JSON格式,如:{success:true, msg:"测试成功"}

AJAX乱码问题

产生乱码的原因:


1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码

2、post方法提交数据默认的字符编码是utf-8,如果服务器端是gb2312或其他编码数据就会产生乱码

解决办法有:

1、若客户端是gb2312编码,则在服务器指定输出流编码

2、服务器端和客户端都使用utf-8编码

gb2312:header('Content-Type:text/html;charset=GB2312');

utf8:header('Content-Type:text/html;charset=utf-8');

注意:如果你已经按上面的方法做了,还是返回乱码的话,检查你的方式是否为get,对于get请求(或凡涉及到url传递参数的),被传递的参数 都要先经 encodeURIComponent方法处理.如果没有用encodeURIComponent处理的话,也会产生乱码.


posted @ 2011-03-07 17:28  ljlxyf  阅读(933)  评论(0编辑  收藏  举报