本篇內(nèi)容介紹了“jQuery中readyState與status的區(qū)別是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
員工經(jīng)過(guò)長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過(guò)團(tuán)隊(duì)的力量開(kāi)發(fā)出優(yōu)質(zhì)的產(chǎn)品。成都創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、電商網(wǎng)站開(kāi)發(fā),重慶小程序開(kāi)發(fā),軟件按需求定制開(kāi)發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
ajaxStop()函數(shù)用于為AJAX請(qǐng)求的ajaxStop事件綁定處理函數(shù)。
這是一個(gè)全局AJAX事件函數(shù),用于在ajaxStop事件被觸發(fā)時(shí)執(zhí)行綁定的事件處理函數(shù)。
jQuery官方文檔描述:無(wú)論什么時(shí)候,當(dāng)一個(gè)AJAX請(qǐng)求完成(無(wú)論成功或失敗)時(shí),jQuery會(huì)檢查當(dāng)前是否還有其他活躍的(未完成的)AJAX請(qǐng)求。如果在進(jìn)程中沒(méi)有找到其他活躍的AJAX請(qǐng)求,jQuery就會(huì)觸發(fā)ajaxStop事件。此時(shí),通過(guò)ajaxStop()函數(shù)綁定的所有事件處理函數(shù)都將被執(zhí)行。
簡(jiǎn)而言之,當(dāng)一個(gè)AJAX請(qǐng)求結(jié)束的時(shí)候,此時(shí)沒(méi)有其他活躍的AJAX請(qǐng)求,該請(qǐng)求就會(huì)觸發(fā)ajaxStop事件。
一般而言,連續(xù)執(zhí)行多個(gè)AJAX請(qǐng)求,只有其中最后一個(gè)結(jié)束的AJAX請(qǐng)求會(huì)觸發(fā)ajaxStop事件。等到所有AJAX請(qǐng)求執(zhí)行完畢后,再次連續(xù)執(zhí)行多個(gè)AJAX請(qǐng)求,還是只有其中最后一個(gè)結(jié)束的AJAX請(qǐng)求會(huì)觸發(fā)ajaxStop事件。
如果某個(gè)AJAX請(qǐng)求被禁止觸發(fā)全局AJAX事件,則它不會(huì)被視為活躍的AJAX請(qǐng)求。
該函數(shù)必須在jQuery對(duì)象實(shí)例上調(diào)用,ajaxStop()將為每個(gè)匹配元素綁定事件處理函數(shù)。當(dāng)ajaxStop事件被觸發(fā)時(shí),所有匹配元素上綁定的處理函數(shù)都將被調(diào)用。事件處理函數(shù)內(nèi)的this將指向當(dāng)前DOM元素。
你可以為同一元素多次調(diào)用該函數(shù),從而綁定多個(gè)事件處理函數(shù)。觸發(fā)事件時(shí),jQuery會(huì)按照綁定的先后順序依次執(zhí)行綁定的事件處理函數(shù)。
從jQuery 1.8開(kāi)始,該函數(shù)只能為document對(duì)象綁定事件處理函數(shù),為其他元素綁定的事件處理函數(shù)不會(huì)起作用。
如果在jQuery.ajax()或jQuery.ajaxSetup()中將選項(xiàng)參數(shù)global設(shè)為false,可以禁止該AJAX請(qǐng)求觸發(fā)全局的AJAX事件。
該函數(shù)屬于jQuery對(duì)象(實(shí)例)。
語(yǔ)法
jQuery 1.0 新增該函數(shù)。
jQueryObject.ajaxStop( handler )
參數(shù)
參數(shù)描述
handlerFunction類型觸發(fā)該事件時(shí),需要執(zhí)行的事件處理函數(shù)。
返回值
ajaxStop()函數(shù)的返回值為jQuery類型,返回當(dāng)前jQuery對(duì)象本身。
示例&說(shuō)明
關(guān)于ajaxStop事件和ajaxStop事件的觸發(fā)機(jī)制,你可以參考jQuery的jQuery.ajax()函數(shù)的部分源代碼。
通過(guò)以下源代碼,我們可以知道:jQuery會(huì)統(tǒng)計(jì)當(dāng)前活躍的AJAX請(qǐng)求數(shù)。每當(dāng)開(kāi)始執(zhí)行一個(gè)AJAX請(qǐng)求時(shí),會(huì)在活躍數(shù)上加1;每當(dāng)一個(gè)AJAX請(qǐng)求結(jié)束時(shí),就在活躍數(shù)上減1。如果一個(gè)AJAX請(qǐng)求開(kāi)始時(shí),活躍數(shù)為0,則觸發(fā)ajaxStart事件;如果一個(gè)AJAX請(qǐng)求結(jié)束時(shí),活躍數(shù)為0,則觸發(fā)ajaxStop事件。// jQuery.ajax()函數(shù)的開(kāi)頭部分
var fireGlobals = s.global; // 是否允許觸發(fā)全局AJAX事件
// 如果允許觸發(fā)全局AJAX事件,并且活躍的AJAX請(qǐng)求數(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請(qǐng)求數(shù)為0,則觸發(fā)ajaxStop事件
if ( !( --jQuery.active ) ) {
jQuery.event.trigger("ajaxStop");
}
}
“jQuery中readyState與status的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!