1. url
發送請求的地址。為空表示當前頁。

1 $.ajax({ 2 type: "post", 3 data: studentInfo, 4 contentType: "application/json", 5 url: "/Home/Submit",//請求的接口 6 beforeSend: function () { 7 // 禁用按鈕防止重復提交 8 $("#submit").attr({ disabled: "disabled" }); 9 }, 10 success: function (data) { 11 if (data == "Success") { 12 //清空輸入框 13 clearBox(); 14 } 15 }, 16 complete: function () { 17 $("#submit").removeAttr("disabled"); 18 }, 19 error: function (data) { 20 console.info("error: " + data.responseText); 21 } 22 });
2. type
請求方式,get或post或put或delete。默認為get。put和delte不是得到所有的瀏覽器支持。

1 $.ajax({ 2 type: "post",//請求的方式 3 data: studentInfo, 4 contentType: "application/json", 5 url: "/Home/Submit", 6 beforeSend: function () { 7 // 禁用按鈕防止重復提交 8 $("#submit").attr({ disabled: "disabled" }); 9 }, 10 success: function (data) { 11 if (data == "Success") { 12 //清空輸入框 13 clearBox(); 14 } 15 }, 16 complete: function () { 17 $("#submit").removeAttr("disabled"); 18 }, 19 error: function (data) { 20 console.info("error: " + data.responseText); 21 } 22 });
3. dataType
預期服務器返回的數據類型。若沒指定,則自動根據http包中的mime信息來判斷。可用值為xml,html,script,json,jsonp,text。

1 $.ajax({ 2 url: "/count/storage/data?callback=storageSurvey", 3 dataType: "json", //指定服務器返回的數據類型為json 4 type: "GET", 5 async:true, 6 jsonp: "callback", ///指定參數名稱,默認為callback 7 jsonpCallback:"storageSurvey", //指定回調函數名稱 8 success: function (data) { 9 storageSurvey_local(data); 10 }, 11 error:function () { 12 alert("error"); 13 } 14 }
4. async
默認為true,即請求為異步請求,這也是ajax存在的意義。但同時也可以將這個參數設置為false,實現同步請求。(同步請求會鎖定瀏覽器,直到這個請求結束后才可以執行其他操作)

1 $.ajax({ 2 url: "/Handle/Do.aspx", 3 type: "post", 4 data: { id: '0' }, 5 async:true,//默認異步false,同步true。 6 dataType: "json", 7 success: function(msg) { 8 alert(msg); 9 }, 10 error: function(XMLHttpRequest, textStatus, errorThrown) { 11 alert(XMLHttpRequest.status); 12 alert(XMLHttpRequest.readyState); 13 alert(textStatus); 14 }, 15 complete: function(XMLHttpRequest, textStatus) { 16 this; // 調用本次AJAX請求時傳遞的options參數 17 } 18 });
5. headers
jQuery1.5添加。一個用於一起進行請求的額外的key/value對的map。這項需要在beforeSend方法被調用前設置,因為headers中的任意值都有肯那個在beforeSend方法中被覆蓋。

1 通過beforeSend獲取Header信息 2 $.ajax({ 3 type: "GET", 4 url: "default.aspx", 5 beforeSend: function(request) { 6 request.setRequestHeader("token", "token"); 7 }, 8 success: function(result) { 9 alert(result); 10 } 11 }); 12 13 setting參數 headers 比如項目中請求接口需要傳token 14 $.ajax({ 15 headers: { 16 Accept: "application/json; charset=utf-8", 17 Authorization: token 18 }, 19 type: "get", 20 success: function (data) { 21 } 22 });
6. beforeSend (XHR)
這個方法是用來在發送請求前修改XMLHttpRequest對象的,若修改失敗返回false,則取消此次ajax請求.

1 $.ajax({ 2 type: "post", 3 data: studentInfo, 4 contentType: "application/json", 5 url: "/Home/Submit", 6 beforeSend: function () {//請求前做的事 7 // 禁用按鈕防止重復提交 8 $("#submit").attr({ disabled: "disabled" }); 9 }, 10 success: function (data) { 11 if (data == "Success") { 12 //清空輸入框 13 clearBox(); 14 } 15 }, 16 complete: function () { 17 $("#submit").removeAttr("disabled"); 18 }, 19 error: function (data) { 20 console.info("error: " + data.responseText); 21 } 22 });
7. cache
默認為true,設置為false即不緩存。(當datatype為script或jasonp時默認為fasle)

1 $.ajax({ 2 type: "post", 3 data: studentInfo, 4 contentType: "application/json", 5 url: "/Home/Submit", 6 cache:true,//默認為true,false不清緩存。 7 beforeSend: function () { 8 // 禁用按鈕防止重復提交 9 $("#submit").attr({ disabled: "disabled" }); 10 }, 11 success: function (data) { 12 if (data == "Success") { 13 //清空輸入框 14 clearBox(); 15 } 16 }, 17 complete: function () { 18 $("#submit").removeAttr("disabled"); 19 }, 20 error: function (data) { 21 console.info("error: " + data.responseText); 22 } 23 });
8. data
發送到服務器的數據。必須為key/value格式。且自動轉換為query string,get請求會將字符串附加在url后。

9. traditional
設置為true,用傳統的方式來序列化數據。

10. timeout
設置請求超時時間,毫秒為單位。此設置會覆蓋全局設置,即所有ajax請求共享同一個超時時間。
$.ajax({
url:
''
,
//請求的URL
timeout : 1000,
//超時時間設置,單位毫秒
type :
'get'
,
//請求方式,get或post
data :{},
//請求所傳參數,json格式
dataType:
'json'
,
//返回的數據格式
success:
function
(data){
//請求成功的回調函數
alert(
"成功"
);
},
complete :
function
(XMLHttpRequest,status){
//請求完成后最終執行參數
if
(status==
'timeout'
){
//超時,status還有success,error等值的情況
ajaxTimeoutTest.abort();
alert(
"超時"
);
}
}
});
11.contentType
它是發送到服務器的額數據的內容編碼類型,它的默認值是"appliction/x-www-form-urlencoded"。傳遞的服務器的數據通常以UTF-8編碼。

12. success(data,textStatus,XHR)
請求成功后的回調函數。參數由服務器返回,並會根據datatype參數進行參數處理。

1 $.ajax({ 2 url:'', //請求的URL 3 type : 'get', //請求方式,get或post 4 data :{}, //請求所傳參數,json格式 5 dataType:'json',//返回的數據格式 6 success:function(data){ //請求成功的回調函數 7 alert("成功"); 8 }, 9 error: function (data) { 10 console.info("error: " + data.responseText); 11 }, 12 complete : function(XMLHttpRequest,status){ //請求完成后最終執行參數 13 if(status=='timeout'){//超時,status還有success,error等值的情況 14 ajaxTimeoutTest.abort(); 15 alert("超時"); 16 } 17 } 18 });
13. error (XHR,textStatus,errorThrown)
當請求失敗時調用這個方法。textStatus為錯誤信息,可用值為error,timeout,abort,parsererror。errorThrown為可選的要捕獲的異常對象。
$.ajax({
url:
''
,
//請求的URL
type :
'get'
,
//請求方式,get或post
data :{},
//請求所傳參數,json格式
dataType:
'json'
,
//返回的數據格式
success:
function
(data){
//請求成功的回調函數
alert(
"成功"
);
},
complete :
function
(XMLHttpRequest,status){
//請求完成后最終執行參數
if
(status==
'timeout'
){
//超時,status還有success,error等值的情況
ajaxTimeoutTest.abort();
alert(
"超時"
);
}
}
});
14. complete(jqXHR,textStatus)
請求完成后的回調函數,無論成功與否。textStatus為一個描述請求類型的字符串,它可以有以下值success,notmodified,error,timeout,abort,parsererror。

1 $.ajax({ 2 type: "post", 3 data: studentInfo, 4 contentType: "application/json", 5 url: "/Home/Submit", 6 beforeSend: function () { 7 // 禁用按鈕防止重復提交 8 $("#submit").attr({ disabled: "disabled" }); 9 }, 10 success: function (data) { 11 if (data == "Success") { 12 //清空輸入框 13 clearBox(); 14 } 15 }, 16 complete: function () {//請求之后執行的函數 17 $("#submit").removeAttr("disabled"); 18 }, 19 error: function (data) { 20 console.info("error: " + data.responseText); 21 } 22 });
15. contents
jQuery1.5添加。一個字符串或常規表達式的map,用來確定用何種方式處理jQuery的response。

1 $.ajax({ 2 url: 'Home/Index', 3 type: 'post', 4 dataType: 'mytype',//自定義類型 5 contents: {//當把一個自定義的dataType選項類型轉換為一個已知的類型的時候需要使用contents參數 6 mytype: /mytype/ 7 }, 8 converters: { 9 'text mycustomtype': true, 10 'mycustomtype json': function () { 11 console.log('converters') 12 } 13 } 14 })
16. context
用來設置ajax回調函數的上下文。讓回調函數中的this指向這個對象。

1 $.ajax({ 2 url: "url", 3 context: document.body 4 }).done(function() { 5 $(this).addClass( "done" ); 6 }); 7 this是documnet.body 8 context參數作用 將回調里的this替換為context里對應的值。
17. converters
jQuery1.5添加。一組數據類型到數據類型的轉換。每一個轉換值都是一個返回了response轉換后的值的方法。
18. crossDomain
false表示同一域請求,true表示跨域請求。它可以使服務器端重定向到另外一個域。
19. dataFilter (data,type)
將ajax的返回值進行預處理的函數,data為返回值,teype為傳遞的datatype參數。
20. global
默認為true,觸發全局ajax事件。設置為false可以用來不觸發。可以用來控制不同的ajax事件。
21. ifModified
默認為false,僅在服務器數據改變時獲取數據,使用http包中的Last-Modified頭信息判斷。
22. isLocal
jQuery1.5.1添加。允許將當前環境識別為local,jquery默認是不會識別的。file,*-extension 和widget協議可以被識別為local。如果isLocal需要被修改,推薦使用$.ajaxSetup()方法。
23. jsonp
要求為String類型的參數,在一個jsonp請求中重寫回調函數的名字。該值用來替代在"callback=?"這種GET或POST請求中URL參數里的"callback"部分,例如{jsonp:'onJsonPLoad'}會導致將"onJsonPLoad=?"傳給服務器。

1 $.ajax({ 2 url: "/count/storage/data?callback=storageSurvey", 3 dataType: "jsonp", //指定服務器返回的數據類型為jsonp 通常指的是跨域 4 type: "GET", 5 async:true, 6 jsonp: "callback", ///指定參數名稱,默認為callback 7 jsonpCallback:"storageSurvey", //指定回調函數名稱 8 success: function (data) { 9 storageSurvey_local(data); 10 }, 11 error:function () { 12 alert("error"); 13 }
24. jsonpCallback
為jsonp請求指定一個回調函數名。jquery會自動生成隨機函數名,用這個值可以修改此名。

1 $.ajax({ 2 9 type : "get", 3 10 async:false, 4 11 url : "ajax.ashx", 5 12 dataType : "jsonp", 6 13 jsonp: "callbackparam",//傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(默認為:callback) 7 14 jsonpCallback:"success_jsonpCallback",//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名 8 15 success : function(json){ 9 16 alert(json); 10 17 alert(json[0].name); 11 18 }, 12 19 error:function(){ 13 20 alert('fail'); 14 21 } 15 22 });
25. mimetype
jQuery1.5.1添加。可以用來覆蓋XHR中的mimetype。
26. password
要求為String類型的參數,用於響應HTTP訪問認證請求的密碼。
27. processData
要求為Boolean類型的參數,默認為true。默認情況下,發送的數據將被轉換為對象(從技術角度來講並非字符串)以配合默認內容類型"application/x-www-form-urlencoded"。如果要發送DOM樹信息或者其他不希望轉換的信息,請設置為false。
28. scriptCharset
只有當請求為jsonp或script,並且type為get時才會用於強制修改charset。

1 $.ajax({ 2 url: testUrl, 3 dataType: 'jsonp', 4 type: 'post', 5 scriptCharset: 'utf-8' 6 }); 7 使用scriptCharset即可解決問題,用contentType就不一定可以了。 8 9 上面的解決方案是最完美的,另外網上的一般解決方式吧,是用contentType來處理的。 10 11 $.ajax({ 12 url: "ajax.aspx?a=memberlogin", 13 type: "post", 14 dataType: "json", 15 contentType: "application/x-www-form-urlencoded; charset=utf-8", 16 success: callback 17 });
29. statusCode
jQuery1.5添加。用來定義http的返回碼對應的處理函數。下面的例子定義了返回404后的處理方法。

1 $.ajax({ 2 statusCode: { 3 404: function() { 4 alert("page not found"); 5 } 6 } 7 });
30.username
用於響應http訪問認證要求為String類型的參數,用於響應HTTP訪問認證請求的用戶名。
31. xhr
默認在ie下是ActiveXObject而其他瀏覽器是XMLHttpRequest。用於重寫或提供一個增強的XMLHttpRequest對象。
32. xhrFields
jQuery1.5.1添加。它可以添加到原生xhr對象上的key/value對。舉個例子,你可以通過它來設置跨域的withCredentials為true。

1 $.ajax({ 2 url: a_cross_domain_url, 3 xhrFields: { 4 withCredentials: true 5 } 6 }); 7 支持withCredentials屬性的瀏覽器有Firefox 3.5+、Safari 4+和Chrome。IE10及更早版本都不支持 8 在jQuery1.5中,withCredentials這個屬性不在原生的xhr中,所以這個請求會被忽略到。若要測試這個例子,需要使用jQuery1.5.1。