Вызов $ .getJSON работает на CHROME ... НЕ на IE - PullRequest
0 голосов
/ 25 ноября 2010

Я использую страницу Asp.Net MVC PartialView, которая должна вызывать действие сервера каждые 5 секунд.

Это процедура действия (обратите внимание, что она возвращает ноль):

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

Это HTML-код JavaScript, который должен вызывать эту процедуру каждые 5 секунд:

<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 ]

2 голосов
/ 25 ноября 2010

Это

 setInterval(function UpdateMyStatus() {

недопустимый синтаксис. Вы хотите

  setInterval(function() {

Я почти уверен, что IE выдает сообщение об ошибке для этого. Всегда сначала проверяйте вывод ошибок, он скажет вам, что не так в большинстве случаев.

0 голосов
/ 27 января 2014
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);
            });
...