我正在使用 ajax 和 php 创建一个计时器并检查一个队列。这很好用,但是一旦计时器到期,我需要再次检查队列。onExpiry 调用有效,但我没有得到新的计时器值。如果我重新加载页面,我只能获得一个新的计时器。是否需要清除 XMLHttpRequest 才能再次调用它?
<script>
function checkQB(x) {
if (x==1) {
xmlhttp.abort();
}
xmlhttp=new XMLHttpRequest();
xmlhttp.open('GET','inc/php/QBconn.php',true);
xmlhttp.send();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var dt=xmlhttp.responseText;
if ((/^20/).test(dt)==1) {
var split = dt.split(',');
var newYear = new Date();
newYear = new Date(split[0], split[1]-1, split[2], split[3], split[4], 00);
$('#QBconn').countdown({
until: newYear, onExpiry: liftOff, layout: 'Next Run in {mn} {ml}, {sn} {sl}'
});
}
else {
document.getElementById('QBconn').innerHTML='Error';
}
}
}
}
function liftOff() {
checkQB(1);
}
checkQB();
</script>
<div id="QBconn"></div>";