1

我正在使用 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>";
4

1 回答 1

0

需要销毁倒计时 xmlhttprequest 正常运行

if (x==1) {
  xmlhttp.abort();
  $('#QBconn').countdown('destroy');
  }
于 2013-09-22T19:09:38.800 回答