|
比如:{foo: ["bar", "baz"]} 將被序列化成foo[]=bar&foo[]=baz,而不是序列化成以前的foo=bar&foo=baz。
如果你想要使用舊的序列化方式,有三種設(shè)置方法:
復(fù)制代碼 代碼如下:
jQuery.ajaxSettings.traditional = true;
jQuery.param( stuff, true );
$.ajax({ data: stuff, traditional: true });
2 自動檢測json和Javascript的數(shù)據(jù)類型。
1.4后返回json或Javascript可以不用設(shè)置dataType 了,將會根據(jù)application/json或application/x-Javascript自動判斷類型。但后臺返回的數(shù)據(jù)類型務(wù)必指定。
3支持添加html頭信息。
$.ajax()新增一個屬性ifModified: true ,設(shè)置為true,可以有效利用瀏覽器緩存(目前我還有試過其效果。)
4使用原生的JSON.parse,來解析json。
1.4會對ajax返回回來的json進(jìn)行合法性驗證,錯誤的json格式將不予解析,比如{foo: "bar"}。
5 $.serialize()序列化表單時,現(xiàn)在可以序列化html5的表單元素。
……相當(dāng)?shù)呐c時俱進(jìn),html5我還沒認(rèn)真看過…..
6 留意新增一個全新屬性Context,非常有用處
Context的出現(xiàn)真是太及時了,Context會簡化你的ajax請求。Context的作用是你可以自定義上下文,也就是指定ajax中回調(diào)函數(shù)的this。來看代碼:
復(fù)制代碼 代碼如下:
jQuery.ajax({
url: "test.html",
context: document.body,
success: function(){
jQuery(this).addClass("done");
}
});
代碼success回調(diào)函數(shù)中的this將指向document.body
7 顯式設(shè)置content-type
在1.4以前,如果你沒有設(shè)置參數(shù)data,$.ajax()會忽略contentType 這個參數(shù)的值,1.4contentType在ajax請求時都要發(fā)送。
8 你可以指定JSONP的回調(diào)函數(shù)名
9 默認(rèn)不允許跨域請求
JavaScript技術(shù):jquery1.4 教程二 ajax方法的改進(jìn),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。