2012-04-26 40 views
0

我工作的脚本,每秒钟查找数据库的一些配置,以显示网站上的特定信息。个人负载与jQuery的Ajax setInterval

我的想法是,建立一个网页,一个setInterval函数,从一个php文件一样,得到的信息:

$(document).ready(function(){ 

    var check1 = ''; 
    var check2 = ''; 
    var refreshId = setInterval(function(){ 

    $.post('check.php', function(data) { 
     var check1 = data; 
    }); 

    while(check1 != check2){ 
     if(check1 == 'score'){ 
     $('#ajax').load('score.php'); 
     } 
     if(check1 == 'stats'){ 
     $('#ajax').load('stats.php'); 
     } 
     var check1 = check2; 
    } 


    }, 1000); 

}); 

我的问题是,要重新加载DIV #ajax只有当var测试将被更改为其他值。如果值仍然相同,则不应该有div的实际负载。

有人可以帮忙吗?

回答

0

您有太多var s。

var check1 = data; 
*** 

这些将制作全新的check1变量,而不是引用代码顶部的那个。除去此var,也是一个在底部:

var check1 = check2; 
*** 
+0

我不明白为什么,因为我需要检查'check.php'的内容是否有变化。 另外我想,setInterval函数将停止我的while循环?! – 2012-04-26 13:44:58

+0

因为你有三个不同的变量,所有调用'check1'。你实际上只想要一个。 – izb 2012-04-26 13:47:30

0
if(check1 != check2){ 
    if(check1 == 'score'){ 
    $('#ajax').load('score.php'); 
    } 
    if(check1 == 'stats'){ 
    $('#ajax').load('stats.php'); 
    } 
    check2 = check1 ; 
} 

与 '如果' 和更换而VAR CHECK2 = CHECK1;从var check1 = check2;

+0

谢谢!这非常有帮助! – 2012-04-26 14:32:43

+0

谢谢老兄,很高兴它帮助你 – Falcon 2012-05-07 08:30:58