IE 和 setInterval() 不刷新/更新的问题
Posted
技术标签:
【中文标题】IE 和 setInterval() 不刷新/更新的问题【英文标题】:Problem with IE and setInterval() not refreshing/updating 【发布时间】:2011-03-26 11:40:09 【问题描述】:我正在使用 javascript/Jquery 使用数据库中的值自动更新页面,尽管它在 Internet Explorer 中似乎没有更新。它在 FireFox 和 Chrome 中运行良好。谁能解释什么是错的?看起来 IE 只是显示页面的缓存版本。我怎样才能防止这种情况发生?谢谢。
function updateComm()
var url="commandSys.php";
jQuery("#theElement").load(url);
setInterval("updateComm()", 1000);
【问题讨论】:
【参考方案1】:您的 php 页面已被缓存。与间隔无关。在页面上设置正确的缓存标头。
【讨论】:
【参考方案2】:尝试使用ajaxSetup
禁用缓存
$.ajaxSetup (
// Disable caching of AJAX responses */
cache: false
);
function updateComm()
var url="commandSys.php";
jQuery("#theElement").load(url);
setInterval(updateComm, 1000);
或者,您可以手动将+new Date
附加到url
,这样它就会附加一个查询字符串以防止缓存。
或者,在服务器端禁用缓存。
【讨论】:
非常感谢。我使用了“ajaxSetup”解决方案。 :) 是的,对我也有用,只是将此代码的第一部分复制并粘贴到我的文件中。 太棒了,IE 也有同样的问题。有趣的是,当打开开发人员工具时,它就可以工作了。感谢分享。以上是关于IE 和 setInterval() 不刷新/更新的问题的主要内容,如果未能解决你的问题,请参考以下文章