我使用了以下函数:
@Using Ajax.BeginForm("Index", New AjaxOptions() With { _
.UpdateTargetId = "AnswerSN",
.HttpMethod = "POST"
})
@<Script>
window.setInterval(function () {
var updateUrl = '@Url.Action("ViewPoints", "Home")';
$.get(updateUrl, function (result) {
initialize(result);
});
}, 30000);
</script>
@<div id="AnswerSN" style="position:absolute; top:100px"></div>
End Using
每 30 秒调用一次“Viewpoints” Controller “Home”图标。每次我都会返回与前一个不同的 json 类型的结果。
好吧,它适用于所有浏览器,但不适用于第一次处理“观点”然后每 30 秒处理相同变量 json 的 IE(显然返回到“观点”的初稿)。
如果在其他浏览器中我有我想要的效果,这怎么可能?
非常感谢那些回复的人。 戴夫
最佳答案
GET 请求缓存,设置正确的 header 或设置 jQuery 以添加无缓存参数。
$.ajax({
url: updateUrl,
success: function(result){
initialize(result);
},
cache: false
});
在 Ajax 请求中使用 setInterval() 并不明智。他们可以堆叠起来。请务必检查先前的请求是否已打开并中止它。您可以使用
timeout: 3000
关于javascript - ASP.NET MVC : Timer not working in IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001772/