溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery中readyState與status的區(qū)別是什么

發(fā)布時間:2022-03-05 10:38:54 來源:億速云 閱讀:211 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“jQuery中readyState與status的區(qū)別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  ajaxStop()函數(shù)用于為AJAX請求的ajaxStop事件綁定處理函數(shù)。

  這是一個全局AJAX事件函數(shù),用于在ajaxStop事件被觸發(fā)時執(zhí)行綁定的事件處理函數(shù)。

  jQuery官方文檔描述:無論什么時候,當一個AJAX請求完成(無論成功或失敗)時,jQuery會檢查當前是否還有其他活躍的(未完成的)AJAX請求。如果在進程中沒有找到其他活躍的AJAX請求,jQuery就會觸發(fā)ajaxStop事件。此時,通過ajaxStop()函數(shù)綁定的所有事件處理函數(shù)都將被執(zhí)行。

  簡而言之,當一個AJAX請求結束的時候,此時沒有其他活躍的AJAX請求,該請求就會觸發(fā)ajaxStop事件。

  一般而言,連續(xù)執(zhí)行多個AJAX請求,只有其中最后一個結束的AJAX請求會觸發(fā)ajaxStop事件。等到所有AJAX請求執(zhí)行完畢后,再次連續(xù)執(zhí)行多個AJAX請求,還是只有其中最后一個結束的AJAX請求會觸發(fā)ajaxStop事件。

  如果某個AJAX請求被禁止觸發(fā)全局AJAX事件,則它不會被視為活躍的AJAX請求。

  該函數(shù)必須在jQuery對象實例上調(diào)用,ajaxStop()將為每個匹配元素綁定事件處理函數(shù)。當ajaxStop事件被觸發(fā)時,所有匹配元素上綁定的處理函數(shù)都將被調(diào)用。事件處理函數(shù)內(nèi)的this將指向當前DOM元素。

  你可以為同一元素多次調(diào)用該函數(shù),從而綁定多個事件處理函數(shù)。觸發(fā)事件時,jQuery會按照綁定的先后順序依次執(zhí)行綁定的事件處理函數(shù)。

  從jQuery 1.8開始,該函數(shù)只能為document對象綁定事件處理函數(shù),為其他元素綁定的事件處理函數(shù)不會起作用。

  如果在jQuery.ajax()或jQuery.ajaxSetup()中將選項參數(shù)global設為false,可以禁止該AJAX請求觸發(fā)全局的AJAX事件。

  該函數(shù)屬于jQuery對象(實例)。

  語法

  jQuery 1.0 新增該函數(shù)。

  jQueryObject.ajaxStop( handler )

  參數(shù)

  參數(shù)描述

  handlerFunction類型觸發(fā)該事件時,需要執(zhí)行的事件處理函數(shù)。

  返回值

  ajaxStop()函數(shù)的返回值為jQuery類型,返回當前jQuery對象本身。

  示例&說明

  關于ajaxStop事件和ajaxStop事件的觸發(fā)機制,你可以參考jQuery的jQuery.ajax()函數(shù)的部分源代碼。

  通過以下源代碼,我們可以知道:jQuery會統(tǒng)計當前活躍的AJAX請求數(shù)。每當開始執(zhí)行一個AJAX請求時,會在活躍數(shù)上加1;每當一個AJAX請求結束時,就在活躍數(shù)上減1。如果一個AJAX請求開始時,活躍數(shù)為0,則觸發(fā)ajaxStart事件;如果一個AJAX請求結束時,活躍數(shù)為0,則觸發(fā)ajaxStop事件。// jQuery.ajax()函數(shù)的開頭部分

  var fireGlobals = s.global; // 是否允許觸發(fā)全局AJAX事件

  // 如果允許觸發(fā)全局AJAX事件,并且活躍的AJAX請求數(shù)為0,則觸發(fā)ajaxStart事件

  if ( fireGlobals && jQuery.active++ === 0 ) {

  jQuery.event.trigger("ajaxStart");

  }

  // ... 省略中間的源代碼

  // jQuery.ajax()函數(shù)的末尾部分

  if ( fireGlobals ) {

  globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );

  // 如果允許觸發(fā)全局事件,并且活躍的AJAX請求數(shù)為0,則觸發(fā)ajaxStop事件

  if ( !( --jQuery.active ) ) {

  jQuery.event.trigger("ajaxStop");

  }

  }

“jQuery中readyState與status的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI