javascript - ASP.NET MVC : Timer not working in IE

标签 javascript jquery asp.net-mvc json

我使用了以下函数:

@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/

相关文章:

javascript - 如何在 Chrome 控制台中包含 JavaScript 文件或库?

javascript - 默认选择值在 Vue.js 中不起作用

php - 使用 JavaScript 单步执行 CSV

javascript - 使用 .getjson 和 .each 构建变量后如何从回调返回变量

c# - MVC 下拉列表未获取 Controller 中的值

asp.net - 使用 jQuery 在 HTML 选择列表中添加/删除项目

asp.net-mvc - .NET MVC - 列表和详细 View

javascript - 在 Jquery 中呼唤 child

javascript - 在其包装器上进行触摸和鼠标拖动事件时如何防止 anchor 上的单击事件

Javascript 函数仅适用于一个变量