我正在使用Javascript setInterval来保持轮询服务器的任何更新并刷新屏幕与来自服务器的响应。我需要支持> IE7和其他主流浏览器。Javascript setInterval无法在IE7和IE8中工作
setInterval函数在IE7和IE8以外的所有浏览器中被触发。
根据我在其他文章中看到的建议,我尝试在ajax请求上设置cache:false,并在匿名函数中包装setInterval调用。但是没有任何建议似乎有效。
以下是我使用的代码:
$(document).ready(function() {
setInterval(pollForServerUpdates, 30000);
});
function pollForServerUpdates() {
$.ajax({ url: $.url("Home/GetUpdates"),
type: "POST",
cache: false,
success: function (result) {
updateTabelWithCurrentStatus(result);
},
dataType: "json"
});
}
我不知道如果我在这里缺少什么。很感谢任何形式的帮助。 谢谢!
如果'setInterval'没有触发,那么设置'cache'不会帮助你。 – 2013-03-26 15:16:00
通常建议避免使用'setInterval'并使用自激'setTimeout'。 'setInterval'存在问题,如果它被阻塞,则间隔调用可能会排队,并且可能会有一堆它们一次全部激发。有关更多信息,请参阅http://bonsaiden.github.com/JavaScript-Garden/#other.timeouts。 – Spudley 2013-03-26 15:18:18
您是否检查过控制台中的错误? – Pointy 2013-03-26 15:19:17