用法
jQuery.ajaxTransport( dataType, handler ) => undefined
jQuery.ajaxTransport( dataType, handler ) => undefined
說明:創建一個處理 Ajax 數據實際傳輸的對象。
-
添加的版本:1.5
jQuery.ajaxTransport( dataType, handler )
-
dataType類型:String標識要使用的數據類型的字符串
-
handler類型:Function(PlainObject選項,PlainObject originalOptions,jqXHRjqXHR)一個處理程序,用於返回新的傳輸對象以與第一個參數中提供的數據類型一起使用。
-
傳輸是提供兩種方法的對象,send
和 abort
由 $.ajax()
在內部用於發出請求。傳輸是增強$.ajax()
的最高級方法,僅當預過濾器和轉換器不足時才應作為最後的手段使用。
由於每個請求都需要自己的傳輸對象實例,因此無法直接注冊傳輸。因此,您應該提供一個返回傳輸的函數。
運輸工廠使用 $.ajaxTransport()
注冊。典型的注冊如下所示:
|
其中:
options
是請求選項originalOptions
是提供給$.ajax()
方法的選項,未經修改,因此沒有來自 ajaxSettings 的默認值jqXHR
是請求的jqXHR對象headers
是(鍵值)請求標頭的對象,如果支持,傳輸可以傳輸它completeCallback
是用於通知 Ajax 請求完成的回調
completeCallback
具有以下簽名:
|
其中:
status
是響應的 HTTP 狀態代碼,例如 200 表示典型成功,或 404 表示未找到資源。statusText
是響應的狀態文本。responses
(可選)是一個包含數據類型/值的對象,其中包含傳輸可以提供的所有格式的響應(例如,本機 XMLHttpRequest 對象會將響應設置為{ xml: XMLData, text: textData }
以獲取 XML 文檔的響應)headers
(可選)是一個包含所有響應標頭的字符串,如果傳輸可以訪問它們(類似於XMLHttpRequest.getAllResponseHeaders()
將提供的)。
就像預過濾器一樣,傳輸的工廠函數可以附加到特定的數據類型:
|
以下示例顯示了如何實現最小圖像傳輸:
|
處理自定義數據類型
jQuery Ajax 實現帶有一組標準數據類型,例如 text、json、xml 和 html。
使用 $.ajaxSetup()
中的 converters
選項來擴充或修改 $.ajax()
使用的數據類型轉換策略。
未縮小的 jQuery 源代碼本身包含一個默認轉換器列表,它有效地說明了如何使用它們:
|
當您在 $.ajaxSetup()
中全局指定 converters
選項或在 $.ajax()
中每次調用時,該對象將映射到默認轉換器,覆蓋您指定的轉換器並保持其他轉換器不變。
例如,jQuery 源代碼使用$.ajaxSetup()
為"text script" 添加轉換器:
|
相關用法
- JQuery jQuery.ajaxSetup()用法及代碼示例
- JQuery jQuery.ajax()用法及代碼示例
- JQuery jQuery.ajaxPrefilter()用法及代碼示例
- JQuery jQuery.inArray()用法及代碼示例
- JQuery jQuery.when()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.get()用法及代碼示例
- JQuery jQuery.grep()用法及代碼示例
- JQuery Mobile jQuery.mobile.navigate()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.isRelativeUrl()用法及代碼示例
- JQuery jQuery.dequeue()用法及代碼示例
- JQuery jQuery.escapeSelector()用法及代碼示例
- JQuery Mobile jQuery.mobile.silentScroll()用法及代碼示例
- JQuery jQuery.cssNumber用法及代碼示例
- JQuery jQuery.map()用法及代碼示例
- JQuery jQuery.readyException()用法及代碼示例
- JQuery jQuery.parseJSON()用法及代碼示例
- JQuery jQuery.contains()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.makePathAbsolute()用法及代碼示例
- JQuery jQuery.each()用法及代碼示例
- JQuery jQuery.unique()用法及代碼示例
- JQuery jQuery.getJSON()用法及代碼示例
- JQuery jQuery.proxy()用法及代碼示例
- JQuery jQuery.type()用法及代碼示例
- JQuery jQuery.cssHooks用法及代碼示例
- JQuery UI jQuery.effects.define()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 jQuery.ajaxTransport()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。