Javascript IE11中window.setinterval存在问题(因为浏览器缓存JSON响应)
我编写了一个JavaScript方法,用于每隔一秒钟在页面上加载内容。它可以在Chrome和Firefox中正常工作,但不能在Internet Explorer中正常工作。1000ms后自动重新加载不起作用 如何解决这个问题Javascript IE11中window.setinterval存在问题(因为浏览器缓存JSON响应),javascript,Javascript,我编写了一个JavaScript方法,用于每隔一秒钟在页面上加载内容。它可以在Chrome和Firefox中正常工作,但不能在Internet Explorer中正常工作。1000ms后自动重新加载不起作用 如何解决这个问题 function testing() { $.getJSON('test.php', function(data) { var lastresult = data.lastresult; $('#test').html(lastres
function testing() {
$.getJSON('test.php', function(data) {
var lastresult = data.lastresult;
$('#test').html(lastresult);
});
}
// Execute testing() after every 1 second
window.setInterval(function(){testing()}, 1000);
编辑(我找到了解决方案):IE正在缓存
test.php
的结果,这就是为什么它似乎对我不起作用。将此添加到脚本成功:
jQuery.ajaxSetup({ cache: false });
此外,我尝试了下面的代码,他们为我工作
示例1(已完成):
function testing() {
$.getJSON('test.php', function(data) {
var lastresult = data.lastresult;
$('#test').html(lastresult);
});
}
testing(); // Worked!
示例2(已完成):
function testing() {
alert('test');
}
window.setInterval(function(){testing()}, 1000); // worked
在不使用
窗口的情况下尝试,或在不使用该功能的情况下尝试。您可能在测试函数时遇到问题,因为setInterval在IE11中对我很好。什么不起作用?setInterval()或getJSON()?我感觉您的$会有问题。getJSON(
调用阻止执行缓存是问题所在。在脚本中添加“jQuery.ajaxSetup({cache:false});”修复了问题。我不会将IE缓存称为“问题”,似乎更可能是您的服务器没有发送正确的缓存控制标头以阻止客户端缓存。。。