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


JQuery .ajaxComplete()用法及代碼示例


用法
.ajaxComplete( handler ) => jQuery

說明:注冊一個在 Ajax 請求完成時調用的處理程序。這是個AjaxEvent.

每當 Ajax 請求完成時,jQuery 都會觸發 ajaxComplete 事件。此時會執行已使用 .ajaxComplete() 方法注冊的所有處理程序。

要觀察此方法的實際效果,請設置一個基本的 Ajax 加載請求:

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

將事件處理程序附加到文檔:

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

現在,使用任何 jQuery 方法發出 Ajax 請求:

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

當用戶單擊類trigger 的元素並且Ajax 請求完成時,將顯示日誌消息。

無論完成了什麽 Ajax 請求,都會調用所有 ajaxComplete 處理程序。如果您必須區分請求,請使用傳遞給處理程序的參數。每次執行 ajaxComplete 處理程序時,都會傳遞事件對象、XMLHttpRequest 對象和用於創建請求的設置對象。例如,您可以將回調限製為僅處理處理特定 URL 的事件:

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

注意:您可以通過查看來獲取返回的 Ajax 內容xhr.responseText.

其他注意事項:

  • 從 jQuery 1.9 開始,jQuery global Ajax events 的所有處理程序,包括使用 .ajaxComplete() 方法添加的處理程序,must 都附加到 document
  • 如果在 global 選項設置為 false 的情況下調用 $.ajax()$.ajaxSetup() ,則不會觸發 .ajaxComplete() 方法。

例子:

Ajax 請求完成時顯示一條消息。

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

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .ajaxComplete()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。