.ajaxError( handler(event, jqXHR, ajaxSettings, thrownError) )返回: jQuery
描述: Ajax请求出错时注册一个回调处理函数,这是一个 Ajax Event。
-
添加的版本: 1.0.ajaxError( handler(event, jqXHR, ajaxSettings, thrownError) )
-
handler(event, jqXHR, ajaxSettings, thrownError)类型: Function()被调用的函数。
-
每当一个Ajax请求出错时,jQuery就会触发ajaxError
事件,在这个时间点所有处理函数会使用.ajaxError()
方法注册并执行。注意:这里的handler处理器调用跨域的脚本和跨域的JSONP请求。
观察这种方法,建立一个基本的Ajax加载请求:
1
2
3
|
|
在document上绑定事件处理器:
1
2
3
|
|
现在,我们可以使用任何的jQuery方法构建一个Ajax请求:
1
2
3
|
|
当用户点击按钮并且Ajax请求失败,因为所请求的文件不存在,这个信息就会显示。
但是从 jQuery 1.8 开始, .ajaxComplete()
方法只能绑定到 document
元素.
注,这段在官网的原文中已经被删除: 因为.ajaxComplete()
是作为一个jQuery对象实例方法去执行的,回调函数中,我们可以用this
关键字作为指定的元素。
无论哪一个Ajax请求被完成,所有ajaxError
处理器都将被执行。如果我们必须区分不同的请求,我们可以使参数传递给这个处理器。 他是通过事件对象、 XMLHttpRequest
对象和设置对象中使用的请求,每次ajaxError
处理器执行,它传递事件对象,jqXHR
对象(在 jQuery 1.5之前是XHR
对象),和用来创建请求的设置(settings)对象。如果请求失败,因为JavaScript抛出一个异常,并且作为第四个参数的异常对象被传递给处理函数。举个例子,我们能限制我们的回调到只处理事件处理某一特定的URL:
1
2
3
4
5
|
|
其他注意事项:
-
如果
global
选项设置为false
,调用$.ajax()
或$.ajaxError()
方法将不会被触发。
例子:
当Ajax请求失败后显示一个信息.
1
2
3
|
|