Ajax常用參數類型解析

1.url:

要求爲String類型的參數,(默認爲當前頁地址)發送請求的地址。可以加參數進行傳遞例如
“localhost:8080/getUser?username=”+$(“#user_id”).val();

2.type:

要求爲String類型的參數,請求方式(post或get)默認爲get。注意其他http請求方法,例如put和delete也可以使用,但僅部分瀏覽器支持。

3.timeout:

要求爲Number類型的參數,設置請求超時時間(毫秒)。

4.async:

要求爲Boolean類型的參數,默認設置爲true,所有請求均爲異步請求。如果需要發送同步請求,請將此選項設置爲false。注意,同步請求將鎖住瀏覽器,用戶其他操作必須等待請求完成纔可以執行。

PS:如果設置async:false 如果請求過大過多的數據造成時間較長的話 會出現網頁崩潰的情況 不介意使用。

5.cache:

要求爲Boolean類型的參數,默認爲true(當dataType爲script時,默認爲false),設置爲false將不會從瀏覽器緩存中加載請求信息。

cache的作用就是第一次請求完畢之後,如果再次去請求,可以直接從緩存裏面讀取而不是再到服務器端讀取。

6.data:

JSON數據類型:data:{

                         name:$("#name"),

                         age:$("#age"),

                         grade:$("#grade")

                         }

Formate數據類型:var fd = new FormData(document.querySelector(“form”));

fd.append(“CustomField”, “This is some extra data”);
$.ajax({
url: “stash.php”,
type: “POST”,
data: fd,
processData: false, // 不處理數據
contentType: false // 不設置內容類型
});
HTML、XML

7.dataType:

要求爲String類型的參數,預期服務器返回的數據類型。如果不指定,JQuery將自動根據http包mime信息返回responseXML或responseText,並作爲回調函數參數傳遞。可用的類型如下:
xml:返回XML文檔,可用JQuery處理。
html:返回純文本HTML信息;包含的script標籤會在插入DOM時執行。
script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。注意在遠程請求時(不在同一個域下),所有post請求都將轉爲get請求。
json:返回JSON數據。
jsonp:JSONP格式。使用SONP形式調用函數時,例如myurl?callback=?,JQuery將自動替換後一個“?”爲正確的函數名,以執行回調函數。
text:返回純文本字符串。

8.beforeSend:

要求爲Function類型的參數,發送請求前可以修改XMLHttpRequest對象的函數,例如添加自定義HTTP頭。在beforeSend中如果返回false可以取消本次ajax請求。XMLHttpRequest對象是惟一的參數。
function(XMLHttpRequest){
this; //調用本次ajax請求時傳遞的options參數
}

9.complete:

要求爲Function類型的參數,請求完成後調用的回調函數(請求成功或失敗時均調用)。參數:XMLHttpRequest對象和一個描述成功請求類型的字符串。
function(XMLHttpRequest, textStatus){
this; //調用本次ajax請求時傳遞的options參數
}

10.success:

要求爲Function類型的參數,請求成功後調用的回調函數,有兩個參數。
(1)由服務器返回,並根據dataType參數進行處理後的數據。
(2)描述狀態的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this; //調用本次ajax請求時傳遞的options參數
}

通常返回參數提示請求成功或者返回結果參數在前端顯示 ,也可以對在html標籤內進行append添加數據

11.error:

要求爲Function類型的參數,請求失敗時被調用的函數。該函數有3個參數,即XMLHttpRequest對象、錯誤信息、捕獲的錯誤對象(可選)。ajax事件函數如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情況下textStatus和errorThrown只有其中一個包含信息
this; //調用本次ajax請求時傳遞的options參數
}

12.contentType:

要求爲String類型的參數,當發送信息至服務器時,內容編碼類型默認爲”application/x-www-form-urlencoded”。該默認值適合大多數應用場合。

13.global:

要求爲Boolean類型的參數,默認爲true。表示是否觸發全局ajax事件。設置爲false將不會觸發全局ajax事件,ajaxStart或ajaxStop可用於控制各種ajax事件。

ajaxStart(),ajaxStop()
是針對文本中所有的ajax請求的,當第一個ajax請求發送時觸發ajaxStart()事件,當最後一個ajax請求完成時,觸發ajaxStop()事件,不同的是,ajaxSend()和ajaxComplete是針對文本中每一次的ajax請求的。
所以如果你在文本中一次使用了3個請求,ajaxStart()會在第一個請求發起時觸發,ajaxStop()會在最後一個請求結束時觸發,所以它們常常組合用於顯示loading等待框等。因爲他們處理的是一羣ajax請求,所以它們的回調函數中沒有任何參數

14.username:

要求爲String類型的參數,用於響應HTTP訪問認證請求的用戶名。

15.password:

要求爲String類型的參數,用於響應HTTP訪問認證請求的密碼。

16.dataFilter
  dataFilter給Ajax返回的原始數據的進行預處理的函數。它的調用在success之前。提供data和type兩個參數:data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。函數返回的值將由jQuery進一步處理。

$.ajaxSetup({
dataFilter : function(data, type){
console.log(“data:”+data);
if(data == “timeOut” || data == “[object XMLDocument]”){//ajax請求,發現session過期,重新刷新頁面,跳轉到登錄頁面
window.location.reload();
}else{
return data;
}
}
})

.ajaxSetup//AJAX .ajaxSetup( {
url: “/index.jsp” , // 默認URL
aysnc: false , // 默認同步加載
type: “POST” , // 默認使用POST方式
headers: { // 默認添加請求頭
“Author”: “CodePlayer” ,
“Powered-By”: “CodePlayer”
} ,
error: function(jqXHR, textStatus, errorMsg){ // 出錯時默認的處理函數
// jqXHR 是經過jQuery封裝的XMLHttpRequest對象
// textStatus 可能爲: null、”timeout”、”error”、”abort”或”parsererror”
// errorMsg 可能爲: “Not Found”、”Internal Server Error”等

}

} );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章