使用jquery ajax setInterval进行单独加载

时间:2012-04-26 13:33:40

标签: jquery ajax post load while-loop

我正在处理一个脚本,该脚本每秒都会查看数据库中的某些配置,以显示网站上的特定信息。

我的想法是,设置一个带有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);

});

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

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

你的var太多了。

var check1 = data;
***

这些将创建全新的check1变量,而不是引用代码顶部的变量。删除此var以及底部的那个:

var check1 = check2;
***

答案 1 :(得分:0)

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

用'if'替换while,var check2 = check1;来自var check1 = check2;