简体   繁体   English

如何获得jQuery的无限重复功能?

[英]How to get jQuery infinitely repeat function?

I currently have the following piece of code. 我目前有以下代码。 When "true" is returned from tv.php the code seems to stop. 从tv.php返回“ true”时,代码似乎停止了。 How can I make this code check tv.php every 60 seconds, and repeat regardless of what TV.php returns? 我如何使此代码每60秒检查一次tv.php,并且不管TV.php返回什么,都重复一次? (I want the to refresh every time it detects "true", and keep checking every 60 seconds infinitely) (我希望每当检测到“ true”时刷新一次,并无限期地每60秒检查一次)

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

});

Try with: 尝试:

    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

My guess is there is an exception when tv.php is being loaded. 我的猜测是在加载tv.php时有一个例外。 Check your console output for possible exceptions. 检查您的控制台输出中是否存在异常。 You could also try adding a try/catch: 您也可以尝试添加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);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM