.ajaxError()

.ajaxError( handler(event, XMLHttpRequest, ajaxOptions, thrownError) ) 返回: jQuery

描述: Ajax请求出错时注册一个回调处理函数,这是一个 Ajax 事件。

  • version added: 1.0.ajaxError( handler(event, XMLHttpRequest, ajaxOptions, thrownError) )

    handler(event, XMLHttpRequest, ajaxOptions, thrownError)The function to be invoked.

每当一个Ajax请求出错时,jQuery就会触发ajaxError事件,在这个时间点所有处理函数会使用.ajaxError()方法注册并执行。

我们可以建立一个基本的Ajax请求,观察该方法的执行过程:

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

我们可以在一些节点上添加的事件处理函数:

$('.log').ajaxError(function() {
  $(this).text('Triggered ajaxError handler.');
});

<p>现在我们可以构建一个Ajax请求使用任何的jQuery方法:</p>

$('.trigger').click(function() {
  $('.result').load('ajax/missing.html');
});

当我们点击这个按钮并且Ajax请求失败,这个信息就会显示。

注意: 因为.ajaxError() 是作为一个jQuery对象实例方法去执行的,我们可以用this关键字作为回调函数中指定的元素。

无论哪一个Ajax请求被完成,所有ajaxError处理器都将被执行。如果我们必须区分的请求,我们可以使参数传递给这个处理器。 他是通过事件对象、 XMLHttpRequest 对象和设置对象中使用的请求,做每一次ajaxError 处理器执行的。 举个例子,我们能限制我们的回调到只处理事件处理某一特定的URL:

$('.log').ajaxError(function(e, xhr, settings, exception) {
  if (settings.url == 'ajax/missing.html') {
    $(this).text('Triggered ajaxError handler.');
  }
});

举例:

当Ajax请求失败后显示一个信息.

$("#msg").ajaxError(function(event, request, settings){
   $(this).append("<li>Error requesting page " + settings.url + "</li>");
 });
jQuery 1.6 API 中文版Clove整理、修订