我有一个代码使用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代码会被运行两次?
答案 0 :(得分:0)
也许是竞争条件,请尝试:
$('h1.countdown').load('website.com/check.php', function() {
setTimeout(checkit, 10000); // makes it reload every 10 sec
alert('checked');
});
另外,你在check.php之后错过了收盘报价。