jQuery.ajaxPrefilter( [dataTypes ], handler )返回值: undefined
描述: 在每个请求发送之前,以及在 $.ajax()
处理它们之前,处理自定义 Ajax 选项或修改现有选项。
-
添加版本: 1.5jQuery.ajaxPrefilter( [dataTypes ], handler )
-
dataTypes类型: 字符串一个可选的字符串,包含一个或多个以空格分隔的 dataTypes
-
handler一个处理程序,用于为将来的 Ajax 请求设置默认值。
-
使用 $.ajaxPrefilter()
进行典型预过滤注册如下所示
1
2
3
|
|
其中
-
options
是请求选项 -
originalOptions
是提供给$.ajax()
方法的选项,未修改,因此没有来自ajaxSettings
的默认值 -
jqXHR
是请求的 jqXHR 对象
当需要处理自定义选项时,预过滤器非常适合。例如,给定以下代码,对 $.ajax()
的调用将自动中止对同一 URL 的请求,如果自定义 abortOnRetry
选项设置为 true
1
2
3
4
5
6
7
8
9
10
|
|
预过滤器还可以用于修改现有选项。例如,以下内容通过 https://mydomain.net/proxy/ 代理跨域请求
1
2
3
4
5
6
|
|
如果提供了可选的 dataTypes
参数,则预过滤器将仅应用于具有指定 dataTypes 的请求。例如,以下内容仅将给定的预过滤器应用于 JSON 和脚本请求
1
2
3
|
|
$.ajaxPrefilter()
方法还可以通过返回该 dataType 将请求重定向到另一个 dataType。例如,以下内容如果 URL 在自定义 isActuallyScript()
函数中定义了一些特定属性,则将请求设置为“脚本”
1
2
3
4
5
|
|
这将确保不仅请求被视为“脚本”,而且所有专门附加到脚本 dataType 的预过滤器都将应用于它。