【问题标题】:Asp.Net MVC : Timer not working in IEAsp.Net MVC:计时器在 IE 中不起作用
【发布时间】:2014-01-26 21:57:25
【问题描述】:

我使用了以下函数:

@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 秒调用一次“视点”控制器“主页”图标的位置。每次返回一个与前一个不同的 json 类型的结果。

好的,它适用于所有浏览器,但不适用于第一次处理“视点”然后每 30 秒处理一次相同变量 json 的 IE(显然返回到“视点”的初稿)。

如果在其他浏览器中我有我想要的效果,这怎么可能?

非常感谢回复的人。 戴夫

【问题讨论】:

标签: javascript jquery asp.net-mvc json


【解决方案1】:

GET 请求缓存,设置正确的标头或设置 jQuery 以添加无缓存参数。

$.ajax({
  url: updateUrl,
  success: function(result){
    initialize(result);
  },
  cache: false
});

在 Ajax 请求中使用 setInterval() 是不明智的。他们可以堆叠起来。确保检查先前的请求是否打开并中止它。你可以使用

timeout: 3000 

【讨论】:

  • 很好的解释 :) 我不知道有可用的缓存参数
猜你喜欢
  • 2013-10-05
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
相关资源
最近更新 更多