如何在jquery中每10秒更新一次Ajax?

时间:2011-02-08 00:57:24

标签: ajax jquery

如何在jquery中每10秒更新一次Ajax?

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

例如,我正在测试上面的jquery以获取RSS提要。那么如何让它每10秒更新一次RSS,以便用户可以在Feed中看到新项目?

3 个答案:

答案 0 :(得分:6)

创建间隔

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 :(得分:1)

我会避免同步ajax调用。它会在页面上做任何其他动画,就像动画冻结一样。当然,对于异步调用,您需要确保它们不会重叠。在你的setInterval中你可以放一把锁:

var doingAjax = false;

setInterval(function() {
  if (!doingAjax) {
    doingAjax = true;
    jQuery.ajax({
      ...,
      success: function() {
        doingAjax = false;
        ...
      }
    });
  }
};

答案 2 :(得分:0)

将其包装在函数中并使用setInterval()