我一直在寻找这个问题的答案,而我没有找到它的原因可能只是我从一开始就完全搞砸了我的脚本,所以请任何能帮助我的人都非常感激。
我有一个 javascript 函数,它触发表单提交的 onClick 并运行对 script1.php 的 ajax 调用,然后使用 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>