Javascript JQuery定期获取外部数据,无需重新加载页面

Javascript JQuery定期获取外部数据,无需重新加载页面,javascript,ajax,jquery,Javascript,Ajax,Jquery,您好,我想检查正在运行sql查询的外部文件,查看状态值0是否已更改为1。如果是这样,重定向到另一个页面 我用GET打了个电话,效果很好 然而,当我试图让它每2秒使用setTimeout检查一次时,它似乎不会运行超过一次 我已经花了好几个小时试图解决这个问题,但我就是想不起来,请帮帮我 (function loop(){ $.get("statusPage.jsp", function(data){ var loadedData = data; if

您好,我想检查正在运行sql查询的外部文件,查看状态值0是否已更改为1。如果是这样,重定向到另一个页面

我用GET打了个电话,效果很好

然而,当我试图让它每2秒使用setTimeout检查一次时,它似乎不会运行超过一次

我已经花了好几个小时试图解决这个问题,但我就是想不起来,请帮帮我

(function loop(){
        $.get("statusPage.jsp", function(data){
        var loadedData = data;
        if(data == 1){
            window.location.replace("http://www.google.com");
        }
    });
    setTimeout(loop,2000)
})();

尝试用setInterval替换setTimeout

            setInterval(function() {
                //Use setInterval than setTimeout
           $.get("statusPage.jsp", function(data){
               var loadedData = data;
               if(data == 1){
        window.location.replace("http://www.google.com");
               }
                });
                   }, 2000);
               });

使用setInterVal而不是setTimeout

它们在函数setIntervalsetTimeout *解释*:

setInterval()

-setTimeout()


好的,我已经设法解决了这个问题

说到Javascipts,我完全是个笨蛋。我想我可以用我的Java知识来解决这个问题。但这比我想象的要困难得多!还是不知道为什么会这样

function loop() {
    $.get("statusPage.jsp", function(data){
        if(data == 1){
            window.location.replace("http://www.google.com");
        }
    });
}
var interval = setInterval(loop, 2000);

为什么您将
数据设置为一个变量而不使用它呢?疏忽,代码已经玩了好几个小时了,所以它一定是滑进去了。有没有关于这个解决方案的想法?我已经用setInterval()尝试过了,但它也不起作用。
  The setTimeout() method calls a function or evaluates an expression after a specified number of milliseconds.

   e.g. http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_settimeout
function loop() {
    $.get("statusPage.jsp", function(data){
        if(data == 1){
            window.location.replace("http://www.google.com");
        }
    });
}
var interval = setInterval(loop, 2000);