jquery1.4 教程二 ajax方法的改进
更新时间:2010年02月25日 22:50:20 作者:
jquery1.4在ajax方法上进一步的进行优化和调整,主要是做了如下的改进。
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 默认不允许跨域请求
比如:{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 默认不允许跨域请求
相关文章
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
本篇文章介绍了,基于jquery的has()方法以及与find()方法以及filter()方法的区别详解需要的朋友参考下2013-04-04jQuery Ajax Post 回调函数不执行问题的解决方法
本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧2016-08-0810款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
这篇文章与大家分享的是10款新鲜出炉的基于 jQuery 开发的 Ajax 插件,有幻灯片、图片画廊、菜单等很多有用的插件。这些作者的想法特别新颖,希望你能从中找到自己需要的插件。2011-06-06
最新评论