原型 - AJAX 選項
這是一個共享一組公共選項和回撥的Ajax名稱空間。
回撥在請求生命週期的各個點被呼叫,並且始終具有相同的引數列表。它們與其他選項一起傳遞給請求者。
常用選項
| 選項 | 描述 |
|---|---|
| 非同步 (asynchronous) | 預設值為true. 確定是否非同步使用 XMLHttpRequest。 |
| contentType | 預設值為application/x-www-form-urlencoded. 請求的 Content-Type 頭。 |
| 編碼 (encoding) | 預設值為UTF-8. 請求的 Content-Type 頭。 |
| 方法 (method) | 預設值為post. 請求使用的 HTTP 方法。 |
| 引數 (parameters) | 預設值為' '. 請求的引數,對於 'get' 方法將被編碼到 URL 中,對於其他方法將被編碼到請求正文中。這可以作為 URL 編碼字串或任何具有表示引數的屬性的 Hash 相容物件提供。 |
| postBody | 預設值為無. “post”方法請求正文的特定內容。如果未提供,則將使用引數選項的內容。 |
| requestHeaders | 見下文描述. 請求頭可以以兩種形式傳遞:
原型自動提供一組預設標頭,此選項可以覆蓋和增強這些標頭:
|
| evalJS | 預設值為true. 如果伺服器返回的內容型別是以下型別之一,則自動計算Ajax.Response#responseText的內容: application/ecmascript, application/javascript, application/x-ecmascript, application/x-javascript, text/ecmascript, text/javascript, text/x-ecmascript 或 text/x-javascript,並且請求遵守SOP(同源策略)。如果需要強制計算,則傳遞 'force'。要完全阻止它,則傳遞 false。 |
| evalJSON | 預設值為true. 如果伺服器返回的內容型別設定為application/json,則自動計算Ajax.Response#responseText的內容,並使用它填充Ajax.Response#responseJSON。 如果請求不遵守 SOP,則在計算之前會清理內容。如果需要強制計算,則傳遞 'force'。要完全阻止它,則傳遞 false。 |
| sanitizeJSON | 本地請求為false,否則為true. 在計算Ajax.Response#responseText的內容之前對其進行清理。 |
常用回撥
| 序號 | 回撥和描述 |
|---|---|
| 1. | onCreate 在初始化 Ajax.Request 物件時觸發。這是在處理引數和 URL 之後,但在第一次使用 XHR 物件的方法之前。 |
| 2. | onComplete 在請求生命週期的最後觸發,一旦請求完成,狀態特定的回撥被呼叫,並且可能處理了自動行為。 |
| 3. | onException 每當出現 XHR 錯誤時觸發。具有自定義簽名:第一個引數是請求者(即 Ajax.Request 例項),第二個是異常物件。 |
| 4. | onFailure 當請求完成並且其狀態程式碼存在但不屬於 2xy 系列時呼叫。如果定義了程式碼特定的回撥,則跳過此步驟,並在 onComplete 之前發生。 |
| 5. | onInteractive 不保證,但每當請求者接收響應的一部分(但不是最後一部分)時觸發,如果它被分成幾個資料包傳送。 |
| 6. | onLoaded 不保證,但一旦底層 XHR 物件設定完畢,連線開啟並準備好傳送其實際請求時觸發。 |
| 7. | onLoading 不保證,但當底層 XHR 物件正在設定,並且其連線已開啟時觸發。 |
| 8. | onSuccess 當請求完成並且其狀態程式碼未定義或屬於 2xy 系列時呼叫。如果定義了程式碼特定的回撥,則跳過此步驟,並在onComplete之前發生。 |
| 9. | onUninitialized 不保證,但在剛建立 XHR 物件時呼叫。 |
| 10. | onXYZ 其中 XYZ 是響應的 HTTP 狀態程式碼。當響應剛完成並且狀態程式碼與我們在回撥名稱中使用的狀態程式碼完全相同時呼叫。阻止 onSuccess/onFailure 的執行。在 onComplete 之前發生。 |
響應者回調
| 序號 | 回撥和描述 |
|---|---|
| 1. | onCreate 每當建立 Ajax 名稱空間中的請求者物件時觸發,在調整其引數並且在開啟其 XHR 連線之前。這需要兩個引數:請求者物件和底層XHR 物件。 |
| 2. | onComplete 在請求生命週期的最後觸發,一旦請求完成,狀態特定的回撥被呼叫,並且可能處理了自動行為。 |
| 3. | onException 每當出現 XHR 錯誤時觸發。具有自定義簽名:第一個引數是請求者(即 Ajax.Request 例項),第二個是異常物件。 |
| 4. | onInteractive 不保證,但每當請求者接收響應的一部分(但不是最後一部分)時觸發,如果它被分成幾個資料包傳送。 |
| 5. | onLoaded 不保證,但一旦底層 XHR 物件設定完畢,連線開啟並準備好傳送其實際請求時觸發。 |
| 6. | onLoading 不保證,但當底層 XHR 物件正在設定,並且其連線已開啟時觸發。 |
| 7. | onUninitialized 不保證,但在剛建立 XHR 物件時呼叫。 |