0

我正在编写一个脚本,它每秒都在数据库中查找一些配置以在站点上显示特定信息。

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

有人可以帮忙吗?

4

2 回答 2

0

你的s太多了var

var check1 = data;
***

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

var check1 = check2;
***
于 2012-04-26T13:38:05.227 回答
0
if(check1 != check2){
  if(check1 == 'score'){
    $('#ajax').load('score.php');
  }
  if(check1 == 'stats'){
    $('#ajax').load('stats.php');
  }
  check2 = check1 ;
}

将 while 替换为 'if' 和 var check2=check1; 从 var check1=check2;

于 2012-04-26T13:54:57.697 回答