2012-03-10 4 views
0

현재 다음 코드 조각이 있습니다. tv.php에서 "true"가 반환되면 코드가 멈춘 것 같습니다. 이 코드는 tv.php를 매 60 초마다 확인하고 TV.php가 반환하는 것과 관계없이 반복 할 수 있습니까?jQuery를 무한히 반복하는 방법은 무엇입니까?

$(document).ready(function(){ 
    setInterval(function() { 
     $.ajax({ 
      url: 'checktime.php', 
      success: function(refresh){ 
       if($.trim(refresh) == "true"){ 
        $('#tv').load('tv.php'); 
       } 
      } 
     }); 
    }, 60000); 

}); 

답변

1

와 시도 (나는 그것을 "true"를 감지 할 때마다 새로 고침, 그리고 궁극적으로 60 초마다 계속 확인 할) :

function ref(){ 
     $.ajax({ 
      url: 'checktime.php', 
      success: function(refresh){ 
       if($.trim(refresh) == "true"){ 
        $('#tv').load('tv.php', function(){ 
         setTimeout(ref, 60000); // Do again after 60s 
        }); 
       } 
      } 
     }); 
    } 

    ref(); // First run 
0

내 생각이있는 것은 때 tv.php 예외입니다 로드 중입니다. 가능한 예외가 있는지 콘솔 출력을 확인하십시오. try/catch를 추가해볼 수도 있습니다.

$(document).ready(function(){ 
    setInterval(function() { 
    $.ajax({ 
     url: 'checktime.php', 
     success: function(refresh){ 
      if($.trim(refresh) == "true"){ 
       try { 
        $('#tv').load('tv.php'); 
       } catch(err) {} 
      } 
     } 
    }); 
    }, 60000); 
}); 
관련 문제