2012-03-10 27 views
0

我目前有以下一段代碼。當從tv.php返回「true」時,代碼似乎停止。我怎樣才能讓這個代碼每60秒檢查一次tv.php,然後重複一次,不管TV.php返回什麼? (我想刷新每次檢測到「真實」時間,並保持每60秒無限檢查)如何獲得jQuery無限重複函數?

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

}); 

回答

1

與嘗試:

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); 
});