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