Ajax请求似乎被调用了两次,但是其他javascript和Ajax请求只被调用一次

时间:2016-06-18 15:01:33

标签: javascript php html ajax

我有一个代码使用ajax每隔X秒获取一个PHP页面的内容,直到completed=="yes",并且每次获取内容时它都回显<script>alert("checked");</script>,而在php页面中我让它回显<script>alert("worked");completed="yes";</script>

因此,理想情况下,它会提醒checked一次,然后它也会提醒worked一次。出于某种奇怪的原因,它会提醒checked一次(应该如此),但它会提醒worked两次。

我的javascript代码是......

<script>
var completed = 'no'; 
function checkit() { 
    if (completed == 'no') { 
        $('h1.countdown').load('website.com/check.php'); 
        setTimeout(checkit, 10000); // makes it reload every 10 sec 
        alert('checked'); 
    } 
} 
</script>
<h1 class="countdown"></h1>

虽然我的PHP代码是

 echo '<script>alert("worked");completed = "yes";</script>';

有没有人知道为什么PHP代码会被运行两次?

1 个答案:

答案 0 :(得分:0)

也许是竞争条件,请尝试:

$('h1.countdown').load('website.com/check.php', function() {
    setTimeout(checkit, 10000); // makes it reload every 10 sec 
    alert('checked'); 
}); 

另外,你在check.php之后错过了收盘报价。