2012-03-10 12 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

で試してみてください(私はそれが「真」を検出するたびに更新し、そして無限に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); 
}); 
関連する問題