2013-09-22 3 views
1

Я использую ajax и php для создания таймера и проверки очереди. Это работает хорошо, однако, как только таймер истек, мне нужно снова проверить очередь. Вызов onExpiry работает, но я не получаю новое значение таймера. Если я перезагружу страницу, я могу получить только новый таймер. Нужно ли очищать XMLHttpRequest для повторного вызова?AJAX Новый XMLHttpRequest в Interval не срабатывает более одного раза

<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>"; 

ответ

0

Обратный отсчет нужно быть уничтожены XMLHttpRequest функционирует нормально

if (x==1) { 
    xmlhttp.abort(); 
    $('#QBconn').countdown('destroy'); 
    } 
Смежные вопросы