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 預設不允許跨域請求