zl程序教程

您现在的位置是:首页 >  后端

当前栏目

jquery1.4教程二ajax方法的改进

方法教程AJAX 改进 JQuery1.4
2023-06-13 09:14:16 时间
1允许序列化嵌套的参数。
比如:{foo:["bar","baz"]}将被序列化成foo[]=bar&foo[]=baz,而不是序列化成以前的foo=bar&foo=baz。

如果你想要使用旧的序列化方式,有三种设置方法:
复制代码代码如下:

jQuery.ajaxSettings.traditional=true;
jQuery.param(stuff,true);
$.ajax({data:stuff,traditional:true});

2自动检测json和javascript的数据类型。
1.4后返回json或javascript可以不用设置dataType了,将会根据application/json或application/x-javascript自动判断类型。但后台返回的数据类型务必指定。

3支持添加html头信息。
$.ajax()新增一个属性ifModified:true,设置为true,可以有效利用浏览器缓存(目前我还有试过其效果。)

4使用原生的JSON.parse,来解析json。
1.4会对ajax返回回来的json进行合法性验证,错误的json格式将不予解析,比如{foo:"bar"}。

5$.serialize()序列化表单时,现在可以序列化html5的表单元素。
……相当的与时俱进,html5我还没认真看过…..

6留意新增一个全新属性Context,非常有用处
Context的出现真是太及时了,Context会简化你的ajax请求。Context的作用是你可以自定义上下文,也就是指定ajax中回调函数的this。来看代码:
复制代码代码如下:

jQuery.ajax({
url:"test.html",
context:document.body,
success:function(){
jQuery(this).addClass("done");
}
});

代码success回调函数中的this将指向document.body

7显式设置content-type
在1.4以前,如果你没有设置参数data,$.ajax()会忽略contentType这个参数的值,1.4contentType在ajax请求时都要发送。

8你可以指定JSONP的回调函数名
9默认不允许跨域请求