當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。