$ .getJSON调用适用于CHROME ...不适用于IE

时间:2010-11-25 11:38:57

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

我正在使用Asp.Net MVC PartialView页面,该页面应该每5秒调用一次Server Action。

这是动作程序(注意它返回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秒调用一次服务器动作。预计服务器不会返回。

也许你知道更好的方法来实现这个目标吗?

: - )

2 个答案:

答案 0 :(得分:2)

 setInterval(function UpdateMyStatus() {

是无效的语法。你想要

  setInterval(function() {

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

答案 1 :(得分:0)

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);
            });