用法
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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。