$.ajax()參數詳解

來自於《鋒利的jQuery(第2版)》。
 
參數 類型 說明 accepts Map 內容類型發送請求頭,告訴服務器什麼樣的響應會接受返回。
若是accepts設置須要修改,推薦在$.ajaxSetup()方法中作一次。
async Boolean 默認設置下(默認爲true),全部請求均爲異步請求。
若是須要發送同步請求,請將此選項設置爲false。
跨域請求和dataType: "jsonp"請求不支持同步操做。
注意,同步請求將鎖住瀏覽器,用戶其餘操做必須等待請求完成才能夠執行。
beforeSend() Function 發送請求前可修改XMLHttpRequest對象的函數,例如添加自定義HTTP頭。
在beforeSend中若是返回false能夠取消本次Ajax請求。
XMLHttpRequest對象是惟一的參數。
function (XMLHttpRequest) {
     this; // 調用本次Ajax請求時傳遞的options參數
}
在jQuery 1.5,beforeSend選項將被訪問,無論請求的類型。
cache Boolean 默認爲true(當dataType爲「script」和「jsonp」時,則默認爲false)。
設置爲false將不會從瀏覽器緩存中加載請求信息。
complete() Function 請求完成後回調函數(請求成功或失敗時均調用)。
參數:XMLHttpRequest對象和一個描述成功請求類型的字符串。
function (XMLHttpRequest, textStatus) {
     this; // 調用本次Ajax請求時傳遞的options參數
}
在jQuery 1.5,complete設置能夠接受一個函數的數組。
contents Map 一個以「{字符串:正則表達式}」配對的對象,用來肯定jQuery將如何解析響應,給定其內容類型。 contentType String 當發送信息至服務器時,內容編碼類型默認爲「application/x-www-form-urlencoded」。
該默認值適合大多數應用場合。
context Object 這個對象用於設置Ajax相關回調函數的上下文。
也就是說,讓回調函數內this指向這個對象(若是不設定這個參數,那麼this就指向調用本次Ajax請求時傳遞的options參數)。
Converters Map 一個數據類型對數據類型轉換器的對象。
每一個轉換器的值是一個函數,返回相應的轉化值。
crossDomain   同域請求爲false,跨域請求爲true。
若是你想強制跨域請求(如JSONP形式)同一域,設置crossDomain爲true。
data Object/String 發送到服務器的數據。
若是不是字符串,將自動轉換爲字符串格式。
GET請求中將附加在URL後。
想要防止這種自動轉換,能夠查看processData選項。
對象必須爲Key/Value格式,例如{foo1: "bar1", foo2: "bar2"}轉換爲&foo1=bar1&foo2=bar2。
若是是數組,jQuery將自動爲不一樣值對應同一個名稱。
例如{foo: ["bar1", "bar2"]}轉換爲&foo=bar1&foo=bar2。
dataFilter() Function 給Ajax返回的原始數據進行處理的函數。
提供data和type兩個參數。
data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。
函數返回的值將由jQuery進一步處理。
function (data, type) {
    // 返回處理後的數據
    return data;
}
dataType String 預期服務器返回的數據類型。
若是不指定,jQuery將自動根據HTTP包MIME信息返回responseXML或responseText,並做爲回調函數參數傳遞。
可用的類型以下:
xml:返回XML文檔,可用jQuery處理。
html:返回純文本HTML信息,包含的script標籤會在插入DOM時執行。
script:返回純文本JavaScript代碼。不會自動緩存結果。除非設置了cache參數。注意在遠程請求時(不在同一個域下),全部POST請求都將轉爲GET請求。
json:返回JSON數據。
jsonp:JSONP格式。使用JSONP形式調用函數時,例如myurl?callback=?,jQuery將自動替換後一個「?」爲正確的函數名,以執行回調函數。
error() Function 請求失敗時被調用的函數。
這個函數有3個參數,即XMLHttpRequest對象、錯誤信息和捕獲的錯誤對象(可選)。
function (XMLHttpRequest, textStatus, errorThrown) {
    // 一般狀況下textStatus和errorThown
    // 只有其中一個包含信息
    this; // 調用本次Ajax請求時傳遞的options參數
}
global Boolean 是否觸發全局Ajax事件,默認爲true。
設置爲false將不會觸發全局Ajax事件,例如ajaxStart和ajaxStop等可用於控制各類Ajax事件。
Headers Map 一個額外的「{鍵:值}」對映射到請求一塊兒發送。
此設置被設置以前beforeSend函數被調用;所以,消息頭中的值能夠在覆蓋beforeSend函數範圍內的任何設置。
ifModified Boolean 默認:false。
僅在服務器數據改變時獲取數據。
使用HTTP包Last-Modified頭信息判斷。
在jQuery1.4中,它也會檢查服務器指定的‘etag’來肯定數據沒有被修改過。
IsLocal Boolean 容許當前環境被認定爲「本地」(如文件系統),即便jQuery默認狀況下不會認可它。
如下協議目前工人爲本地:file,*-extension,和widget。
若是isLocal設置須要修改,建議在$.ajaxSetup()方法中作。
jsonp String 在一個jsonp請求中重寫回調函數的名字。
這個值用來替代在「callback=?」這種GET或POST請求中URL參數裏的「callback」部分,好比{jsonp:"onJsonPload"}會致使將「onJsonPload=?」傳給服務器。
在jQuery 1.5,設置jsonp選項爲false阻止了jQuery從加入「?callback」字符串的URL或試圖使用「=?」轉換。
在這種狀況下,你也應該明確設置jsonpCallback設置。
例如:{jsonp:false, jsonpCallback:"callbackName"}。
jsonpCallback String/Function 爲jsonp請求指定一個回調函數名。
這個值將用來取代jQuery自動生成的隨機函數名。
這主要用來讓jQuery生成獨特的函數名,這樣管理請求更容易,也能方便地提供回調函數和錯誤處理。
你也能夠在想讓瀏覽器緩存GET請求的時候,指定這個回調函數名。
在jQuery 1.5,你也能夠使用一個函數值該設置,在這種狀況下jsonpCallback的值設置到該函數的返回值。
mimeType String 一個mime類型用來覆蓋XHR的MIME類型。 password String 用於響應HTTP訪問認證請求的密碼。 processData Boolean 默認爲true。
默認狀況下,發送的數據將被裝換爲對象(從技術角度來說並不是字符串)以配合默認內容類型「application/x-www-form-urlencoded」。
若是要發送DOM樹信息或者其餘不但願轉換的信息,請設置爲false。
scriptCharset String 只有當請求時dataType爲「jsonp」或者「script」,而且type是GET時纔會用於強制修改字符集(charset)。
一般在本地和遠程的內容編碼不一樣時使用。
statusCode Map 一組數值的HTTP代碼和函數對象,當響應調用了相應的代碼。
例如,若是響應狀態是404,將觸發如下警報:
$.ajax({
    statusCode: {
        404: function() {
            alert('page not found');
        }
    }
});
若是請求成功,狀態代碼函數做爲回調的成功相同的參數;若是在一個錯誤的結果,他們採起了相同的參數error回調。
success() Function 請求成功後的回調函數。
這個函數傳遞3個參數:
從服務器返回的數據,並根據dataType參數進行處理後的數據,一個描述狀態的字符串,還有jqXHR對象。
timeout Number 設置請求超時時間(毫秒)。
此設置將覆蓋$.ajaxSetup()方法的全局設置。
traditional Boolean 若是你想要用傳統的方式來序列化數據,那麼久設置爲true。
請參考工具分類下面的jQuery.param方法。
Type String 請求方式(POST或GET),默認爲GET。
注意,其餘HTTP請求方法,例如PUT和DELETE也能夠使用,但僅部分瀏覽器支持。
url String 發送請求的地址,默認爲當前頁地址。 username String 用於響應HTTP訪問認證請求的用戶名。 xhr Function 回調建立XMLHttpRequest對象。
當可用時默認爲ActiveXObject(IE)中,不然爲XMLHttpRequest。
xhrFields Map 一對「文件名-文件值」在本機設置XHR對象。
例如,若是須要的話,你能夠用它來設置withCredentials爲true的跨域請求。
轉載於猿2048:→《$.ajax()參數詳解》php

相關文章
相關標籤/搜索