jquery1.4 教程二 ajax方法的改进
作者:bea
1 允许序列化嵌套的参数。 比如:{foo: ["bar", "baz"]} 将被序列化成foo[]=bar&foo[]=baz,而不是序列化成以前的foo=bar&foo=baz。 如果你想要使用旧的序列化方式,有三种设置方法: 代码如下: jQuery.ajaxSettings.traditional = true; jQuery.param( stuff, true ); $.ajax({ data: stuff, traditional: t
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下的26个实用小技巧(jQuery tips, tricks & solutions)
- 基于jquery.Jcrop的头像编辑器
- IE event.srcElement和FF event.target 功能比较
- Javascript 判断客户端浏览器类型代码
- 在chrome中window.onload事件的一些问题
- 仅用[]()+!等符号就足以实现几乎任意Javascript代码
- Javascript 网页水印(非图片水印)实现代码
- 使用js获取QueryString的方法小结
- js实现的八点拖动修改div大小的代码
- JavaScript 面向对象代码实践
- Javascript 使用function定义构造函数
- JQuery 将元素显示在屏幕的中央的代码
- JQuery团队打造的javascript单元测试工具QUnit介绍
- getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
- JavaScript 空位补零实现代码
- javascript replace()正则替换实现代码
- JavaScript 时分秒时间代码(自动补零)
- javascript function调用时的参数检测常用办法
- jquery1.4 教程三 新增方法教程