2013-03-29 76 views
0

我有一个调用变量的div。当该变量发生变化时,用户需要刷新页面以查看新值。该变量是从一个单独的PHP文件中提取的。更新PHP变量时自动刷新div

我想知道是否有一种方法来使用Ajax来自动更新div,而无需用户刷新浏览器,当它看到PHP变量已更新。

+0

我假定“调用变量”的意思是“显示一些计算结果”。这基本上就是每个AJAX脚本的用途:向服务器询问计算结果,并根据结果更新页面上的内容。 – IMSoP

+0

如果服务器端的某些内容发生变化,用户应该知道应该定期“询问”服务器以进行更新,然后让用户知道最后两个结果是否不同。所以是的,这是可能的:) – yefrem

回答

3

您可以使用ajax定期检查变量是否有变化,如果是这种情况,您可以更新div。

var previousValue = null; 

function checkForChange() { 
    $.ajax({ 
     url: 'http://example.com/getVariableValue.php', 
     ... 
     success: function(data) { 
      if (data != previousValue) { // Something have changed! 
       //Call function to update div 
       previousValue = data; 
      } 
     } 
    }); 
} 

setInterval("checkForChange();", 1000); 

我没有带测试的代码,但它应该是类似的东西。将从http://example.com/getVariableValue.php获得数据,您必须填写一些关于AJAX请求的信息。我假设您知道如何修改您的特定数据格式的代码,无论是XML,JSON还是文本。

+0

这正是我需要的!尽管我对ajax非常陌生,所以我不确定如何格式化数据。尽管这个变量是一个纯文本值。此外,我会用什么代码来更新div?谢谢你的时间 – hushman

+1

如果你的数据是明文,那么你应该使用dataType:'html',至于更新实际的div你应该看看选择器(http://api.jquery.com/category/selectors/)和jQUery(http://api.jquery.com/html/)中的html()方法。查看jQuery API,这是一个带有示例和详细描述的很好的参考。 –

+0

非常感谢您的开始:)我的代表不够高,无法给您积分,但谢谢! – hushman