Как мне сделать обновление Ajax каждые 10 секунд в jquery? - PullRequest
3 голосов
/ 08 февраля 2011

Как мне обновить Ajax каждые 10 секунд в jquery?

    $.ajax({
    type: "GET",
    url: options.feedUrl,
    dataType: "xml",
    async:options.sync,
    success: function(xml) {
        }

Например, я тестирую jquery выше, чтобы получить RSS-канал. Так как же заставить его обновлять RSS каждые 10 секунд, чтобы пользователь мог видеть новый элемент в ленте?

Ответы [ 3 ]

6 голосов
/ 08 февраля 2011

Создание интервала

var ResInterval = window.setInterval('myAjaxCall()', 60000); // 60 seconds

var myAjaxCall = function() {
$.ajax({
    type: "GET",
    url: options.feedUrl,
    dataType: "xml",
    async:options.sync,
    success: function(xml) {
        // todo
    }
};

до остановки

window.clearInterval(ResInterval);
1 голос
/ 08 февраля 2011

Я бы избегал синхронного вызова AJAX. Это заставит все остальное на странице, например, анимацию заморозить. Конечно, при асинхронных вызовах вам нужно убедиться, что они не начинают перекрываться. В вашем setInterval вы можете просто поставить блокировку:

var doingAjax = false;

setInterval(function() {
  if (!doingAjax) {
    doingAjax = true;
    jQuery.ajax({
      ...,
      success: function() {
        doingAjax = false;
        ...
      }
    });
  }
};
0 голосов
/ 08 февраля 2011

оберните его в функцию и используйте setInterval ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...