Страница с функцией Ajax не обновляет данные - PullRequest
1 голос
/ 25 марта 2011

Мои скрипты работают отлично. Тем не менее, контент не обновляется сам, чтобы получить новые данные. Почему это так?

 function updateMsg() {
    $.ajax({
       url: "/recent/notifications/",
       cache: false,
       success: function(html){     
         $("#profile_notifarea_msgbox").html(html);
       }
    });
    setTimeout('updateMsg()', 4000);
 }
 updateMsg();   

Ответы [ 2 ]

1 голос
/ 25 марта 2011

Ваш setTimeout может ссылаться на updateMsg напрямую вместо использования строки:

var timeout;

function updateMsg() {
   $.ajax({
      url: "/recent/notifications/",
      cache: false,
      success: function(html){     
        $("#profile_notifarea_msgbox").html(html);
        timeout = setTimeout(updateMsg, 4000);
      }
   });       
}
updateMsg();   

function stopUpdate() {
    clearTimeout(timeout);
}

Чтобы остановить непрерывное обновление, сохраните ссылку на setTimeout в переменной, затем вызовите clearTimeout и передайте эту переменную. В этом примере вы просто вызовете функцию stopUpdate () для отмены обновлений.

0 голосов
/ 25 марта 2011

когда вы используете ajax с jQuery, старайтесь всегда ставить функцию ошибки, таким образом вы можете определить, если что-то не так с запросом

...