如何让jQuery无限重复功能?

时间:2012-03-10 17:38:39

标签: javascript jquery

我目前有以下代码。当从tv.php返回“true”时,代码似乎停止了。如何让这段代码每隔60秒检查一次tv.php,并重复一遍,不管TV.php返回什么? (我希望每次检测到“真”时刷新,并且每60秒无限次检查一次)

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

});

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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);
});