jQuery와 AJAX를 사용하여 매 초마다 반복하여 콘솔을 새로 고치는 스크립트를 만들었습니다.반복 루핑 AJAX 쿼리
페이지는과 같이 설정입니다 : index.php
메인 페이지가 여러 AJAX 스크립트를 실행하고 반환 된 내용으로 index.php
의 몸을 대체 할 수있는 버튼입니다 index.php -> console.php -> consoleQuery.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 -> home.php
용) index.php
페어런트 다른 페이지 그게 home.php
가 index.php
본체와 교체 루프를 일으키는 JS 여전히 백그라운드에서 발생하는 클릭에 따라, 그러나이다. 또한 console.php
을 다시 트리거하면 초당 두 번씩 콘솔을 새로 고치고 여러 번 클릭하면 계속 켜집니다. 본질적으로 루프는 여러 인스턴스에서 실행됩니다.
내가 시도하고 싶은 것은 console.php
을 요청하지 않는 AJAX 요청 중 하나를 트리거 할 때 페이지 몸체를 새로 고치는 루핑 스크립트를 중단하십시오.
다른 페이지에 액세스 할 때 루프를 중지 할 수있는 방법이 있습니까? 미리 감사드립니다!
정확히 내가 필요한 것! console.php AJAX 스크립트 내에서'setInterval' 함수가 호출 되었기 때문에 setup 및 teardown 메소드가 작동하지 않았습니다. 그러나 변수를 생성하고 간격을 지우는 방법을 사용하면 완벽하게 작동했습니다! 도와 주셔서 대단히 감사합니다! – SteppingHat