js頁面用定時任務通過AJAX獲取后台數據,但是從這個頁面跳轉到其他頁面后,定時任務仍然在定時請求后台


setInterval(function(){
//ajax 請求后台數據
},1000);
這個是A頁面的定時器
然后我在A頁面通過其他請求跳轉到其他頁面之后
后台發現A頁面的定時器的那個請求仍然在執行
為什么會出現這種情況呢?
怎么能讓我跳轉到其他頁面之后定時任務不執行呢?
yj327243832 | 瀏覽 1987 次  2014-08-22 17:26
2014-08-23 11:03 最佳答案
 

個人感覺如果A頁面已經跳轉到其他頁面,那么那個定時器的請求應該不會再被執行,因為A頁面在瀏覽器中應該已經被銷毀。

覺得你應該花些時間來測試一下,確定是否為該A頁面所發的請求,比如在請求上打上請求時間的值,從而有助於你分析。

如果僅僅要不執行定時任務,那么可以在頁面跳轉之前調用window.clearInterval將那個定時器清除掉。

1
2
3
4
5
var  g_intervalId;    // 這要定義成一個全局變量
...
g_intervalId = window.setInterval(...);    // 創建定時執行程序
...
window.clearInterval(g_intervalId);     // 在跳轉之前調用,以清除定時執行程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM