jQuery.ajaxPrefilter( [dataTypes ], handler )返回类型:undefined
描述:处理自定义Ajax选择或者在每次请求发送之前、在它们被$.ajax()
处理之前,修改已有的选项。
-
增补版本:1.5jQuery.ajaxPrefilter( [dataTypes ], handler )
-
dataTypes类型:String一个可选的字符串,包含了一个或多个空格隔开的dataType。
-
handler一个处理函数,用来为未来的Ajax请求设置默认值。
-
一个典型的用$.ajaxPrefilter()
注册的预筛选器看起来像是这样:
1
2
3
|
|
其中:
options
是请求选项-
originalOptions
选项是提供给$.ajax()
方法的选项,未经修改,因此没有来自ajaxSettings
的默认值。 -
jqXHR
是请求的jqXHR对象
当需要处理自定义选项时,预筛选器是一个完美的设置。例如,给定下面的代码,如果自定义的abortOnRetry
选项被设置为true
,对$.ajax()
的调用将自动中止一个对相同URL的请求:
1
2
3
4
5
6
7
8
9
10
|
|
预筛选器可以用来修改已有的选项。例如,下面通过http://mydomain.net/proxy/代理跨域请求:
1
2
3
4
5
6
|
|
如果提供了可选的dataTypes
参数,将只对用了指定的dataTypes的请求应用预筛选器。例如,下面只对JSON和Script请求应用给定的预筛选器:
1
2
3
|
|
$.ajaxPrefilter()
方法还可以通过返回dataType,把一个请求重定向到另一个dataType。例如,如果URL具有一些在自定义isActuallyScript()
函数中定义的特定的属性,下面代码将会把一个请求设置为“script”:
1
2
3
4
5
|
|
这将不仅仅是确保请求被视为“script”,而且所有对script数据类型有效的预筛选器都会应用于它。