【问题标题】:$.getJSON call works on CHROME ...does NOT on IE$.getJSON 调用适用于 CHROME ...不适用于 IE
【发布时间】:2011-05-15 15:59:15
【问题描述】:

我正在使用一个 Asp.Net MVC PartialView 页面,该页面应该每 5 秒调用一次服务器操作。

这是动作过程(注意它返回null):

    public ActionResult StillOnline()
    {
        // bla bla bla
        return null;
    }

这是应该每 5 秒调用一次该过程的 HTML javascript:

<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function {
                         var url = '<%: Url.Action("StillOnline", "Account") %>';
                         $.getJSON(url, null, null);}
                    , 10000);
                });
</script>

使用 Chrome ...它每 5 秒执行一次调用 (yuhuuu) 使用 IE ...调用只执行一次。

错误信息: 无,IE 不会抛出错误。

我的目标: 就像我说的,我需要让我的 ASP.Net PartialView 每 5 秒调用一次服务器操作。预计服务器不会返回。

也许您知道实现这一目标的更好方法?

:--)

【问题讨论】:

  • “不起作用”是什么意思?请求没有发送吗?响应没有发生任何事情,例如错误消息? (不过,公平地说,定义的函数没有任何参数要传递,所以 IE 可能会抱怨这一点。)
  • 你有什么错误吗?
  • 他遇到了错误,它只是被浏览器吞噬,就像 DOM 甚至处理程序中的所有错误一样。
  • 如何查看 IE 错误 ..如果它们被 IE 吞没了?任何帮助我可以在互联网上获得一个网站,告诉我在 IE 中工作的这种简单调用的正确语法?

标签: asp.net-mvc internet-explorer google-chrome getjson


【解决方案1】:

这个

 setInterval(function UpdateMyStatus() {

不是有效的语法。你想要的

  setInterval(function() {

我很确定 IE 会为此引发错误消息。总是先检查错误输出,它会告诉你在大多数情况下出了什么问题。

【讨论】:

  • 我试过了,现在 IE 只调用一次服务器操作。 Chrome 仍然每 5 秒调用一次。
  • @Filu 老兄,你仍然有一个明显的语法错误。请按照佩卡告诉你的去做。
  • 我删除了名称“UpdateMyStatus”(请参阅​​更新的初始线程文本)..并且仍然只在 IE 中获得一个调用。我还做错了什么??
【解决方案2】:
I guess problem is with IE cache, try this out it might help.


$(document).ready(function () {
    setInterval(function {
                     $.ajaxSetup ({ cache: false});
                     var url = '<%: Url.Action("StillOnline", "Account") %>';
                     $.getJSON(url, null, null);}
                , 10000);
            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2012-12-29
    • 2014-01-06
    • 2014-05-17
    • 1970-01-01
    相关资源
    最近更新 更多