当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .ajaxSuccess()用法及代码示例


用法
.ajaxSuccess( handler ) => jQuery

说明:附加一个在 Ajax 请求成功完成时执行的函数。这是个阿贾克斯事件.

每当 Ajax 请求成功完成时,jQuery 都会触发 ajaxSuccess 事件。此时会执行已使用 .ajaxSuccess() 方法注册的所有处理程序。

要观察此方法的实际效果,请设置一个基本的 Ajax 加载请求:

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

将事件处理程序附加到任何元素:

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

现在,使用任何 jQuery 方法发出 Ajax 请求:

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

当用户单击类trigger 的元素并且Ajax 请求成功完成时,将显示日志消息。

无论完成了什么 Ajax 请求,都会调用所有 ajaxSuccess 处理程序。如果必须区分请求,可以使用传递给处理程序的参数。每次执行 ajaxSuccess 处理程序时,都会传递事件对象、XMLHttpRequest 对象和用于创建请求的设置对象。例如,您可以将回调限制为仅处理处理特定 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 内容xhr.responseXML或者xhr.responseText分别用于 xml 和 html。

其他注意事项:

  • 从 jQuery 1.9 开始,jQuery global Ajax events 的所有处理程序,包括使用 .ajaxSuccess() 方法添加的处理程序,must 都附加到 document
  • 如果在 global 选项设置为 false 的情况下调用 $.ajax()$.ajaxSetup() ,则不会触发 .ajaxSuccess() 方法。

例子:

当 Ajax 请求成功完成时显示一条消息。

$( document ).ajaxSuccess(function( event, request, settings ) {
  $( "#msg" ).append( "<li>Successful Request!</li>" );
});

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .ajaxSuccess()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。