加载中...

ajaxSuccess()


概述

返回值:jQuery

描述:绑定一个函数当 Ajax 请求成功完成时执行。 这是一个Ajax Event.

  • V : 1.0.ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) )

    • handler(event, XMLHttpRequest, ajaxOptions)
      类型: Function()
      被调用的函数。

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

观察这种方法,建立一个基本的Ajax加载请求:

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

在document上绑定事件处理器:

$(document).ajaxSend(function() {
  $( ".log" ).text( "Triggered ajaxSend handler." );
});

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

$( ".trigger" ).click(function() {
  $( ".result" ).load( "ajax/test.html" );
});

当我们点击class为 trigger 的元素并且Ajax请求即将开始,这个信息就会显示。

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

$(document).ajaxSuccess(function(event, xhr, settings) {
  if ( settings.url == "ajax/test.html" ) {
    $( ".log" ).text( "Triggered ajaxSuccess handler. The ajax response was: " +
                      xhr.responseText );
  }
});

注意: 你可以得到返回的AJAX内容 察看XML和HTML的xhr.responseXMLxhr.responseHTML 之间的分别。

其他注意事项:

  • 在jQuery1.9中,jQuery全局AJAX事件的所有处理程序, 包括哪些.ajaxSuccess()添加的方法,必须 附加到 document上。
  • 如果 $.ajax()$.ajaxSetup()调用时, global 选项设置为 false.ajaxSuccess()将不会触发。

示例

实例

当 AJAX 请求成功后显示消息。

jQuery 代码:
 $("#msg").ajaxSuccess(function(evt, request, settings){
   $(this).append("<li>请求成功!</li>");
 });

还没有评论.