使用jQuery和AJAX,我創建了一個循環每秒刷新控制檯的腳本。停止循環AJAX查詢
的頁面設置,像這樣: index.php -> console.php -> consoleQuery.php
哪裏index.php
是主頁,與可以觸發多個AJAX腳本,並返回的內容替換的index.php
身上的按鈕。其中一個腳本是console.php
和console.php
的一部分包括以下腳本。
window.setInterval(function() {
$.ajax({
type: "POST",
url: "ajax/consoleQuery.php",
data: "",
success: function(response) {
$("#consoleBody").html(response);
}
});
console.log("Console refreshed");
}, 1000);
這個腳本在consoleQuery.php
調用基本上更新頁面的身體,並刷新它的每一秒。
的problme然而,在點擊父級index.php
(例如index.php -> home.php
)另一頁這就是 導致該環路中的JS仍然出現在背景中時home.php
取代的index.php
身體。最重要的是,觸發console.php
再次導致它再次刷新控制檯每秒兩次,等等,如果它多次點擊。本質上,循環運行在多個實例中。
我想要嘗試的是觸發其中一個不請求console.php
的AJAX請求,停止刷新頁面主體的循環腳本。
有什麼辦法可以在訪問不同的頁面時停止循環?提前致謝!
正是我需要的! setup和teardown方法不起作用,因爲在console.php AJAX腳本中調用了'setInterval'函數。然而,使用創建變量和清除間隔的方法完美工作!非常感謝您的幫助! – SteppingHat 2014-12-03 14:59:07