我們在用ajax請求數(shù)據(jù)時(shí),可能會(huì)遇到一次點(diǎn)擊多次觸發(fā)的可能。
(比如說:ajax 的 onreadystatechange 事件就會(huì)觸發(fā)多次;這是因?yàn)?onreadystatechange 是一個(gè)事件句柄。
它的值 (state_Change) 是一個(gè)函數(shù)的名稱,當(dāng) XMLHttpRequest 對象的狀態(tài)發(fā)生改變時(shí),會(huì)觸發(fā)此函數(shù)。
狀態(tài)從 0 (uninitialized) 到 4 (complete) 進(jìn)行變化。僅在狀態(tài)為 4 時(shí),我們才執(zhí)行代碼?!?/p>
每次XMLHttpRequest 對象的狀態(tài)發(fā)生改變時(shí),會(huì)觸發(fā)此函數(shù)。
一共會(huì)觸發(fā) 4 次,從 0 到 4。)【PS:當(dāng)然這里引用的例子不完全符合工作時(shí)遇到的問題】此時(shí),我們需要一個(gè)可以來終止程序的方法。
exit 和abort 都是用來終止程序的函數(shù),下面我們來講一下這兩者的不同之處。
exit會(huì)做一些釋放工作:釋放所有的靜態(tài)的全局的對象,緩存,關(guān)掉所有的I/O通道,然后終止程序。如果有函數(shù)通過atexit來注冊,還會(huì)調(diào)用注冊的函數(shù)。不過,如果atexit函數(shù)扔出異常的話,就會(huì)直接調(diào)用terminate。
abort:立刻terminate程序,沒有任何清理工作。
以上就是小編為大家?guī)淼年P(guān)于ajax的多次請求問題全部內(nèi)容了,希望大家多多支持腳本之家~
您可能感興趣的文章:- 防止重復(fù)發(fā)送Ajax請求的解決方案
- Jquery 一次處理多個(gè)ajax請求的代碼
- JS Ajax請求如何防止重復(fù)提交