我已經搜索了這個答案,我沒有找到它的原因可能只是我從getgo完全搞砸了我的腳本,所以請任何人誰可以幫助我非常感謝它。如何在php腳本完成通過ajax執行後停止setInterval
我有一個JavaScript函數,它觸發onClick提交表單並運行ajax調用script1.php,然後用setInterval啓動一個計時器。 setInterval調用另一個JavaScript函數來輪詢來自script1.php的輸出文件,以便我們可以將新數據添加到屏幕上。這部分工作正常。
但是,我想停止計時器script1.php完成處理。我該怎麼做呢?我嘗試在script1.php中放入一個clearInterval(myTimer)作爲它運行的最後一個語句,它似乎在瀏覽器中顯示,但它並沒有停止計時器。
<script type="text/javascript">
var myTimer;
var file1 = "script1.php";
var file2 = "script2.php";
function startTimer(myTimer) {
myTimer = window.setInterval(loadData, 2000);
}
function stopTimer() {
clearInterval(myTimer);
}
function startData()
{
ajaxRequest(file1,data);
startTimer(myTimer);
}
function loadData()
{
ajaxRequest(file2)
}
</script>
<form action="index.php" method="post">
<div style="text-align:left;width:300px;">
<textarea style="width:300px;height:200px;"> </textarea><BR>
<button type="button" onclick="startData()">get data</button>
</div>
</form>
<div id="myDiv" style="text-align:left;width:500px;border:solid 1px #ccc;padding:50px;">
please enter data above
</div>
由於某種原因,在我轉移到使用setInterval之前,這不起作用,但我再次嘗試,現在ajax工作正常。謝謝! – zoltar
@ZekarKovacs沒問題。很高興我能幫上忙。如果這回答你的問題,你可能想通過點擊旁邊的複選標記來接受答案。 – dqhendricks