首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JQuery每隔1秒发送Ajax请求?

如何使用JQuery每隔1秒发送Ajax请求?
EN

Stack Overflow用户
提问于 2011-03-15 18:01:00
回答 5查看 6.2K关注 0票数 4

如何使用JQuery每隔1秒发送Ajax请求?

EN

回答 5

Stack Overflow用户

发布于 2011-03-15 18:15:31

你可能不想像David已经提到的那样每秒发送一个请求。

因此,使用setInterval不是一个好主意。

相反,可以考虑这样做:

代码语言:javascript
复制
function doAjax() {

  $.ajax({
   ...
   complete: function() {
    setTimeout(doAjax,1000); //now that the request is complete, do it again in 1 second
   }
   ...
  });
}

doAjax(); // initial call will start rigth away, every subsequent call will happen 1 second after we get a response
票数 17
EN

Stack Overflow用户

发布于 2011-03-15 18:03:00

您可以使用setInterval,但setInterval不是jQuery的一部分:

代码语言:javascript
复制
setInterval(function() {
    $.get(...);
}, 1000);
票数 6
EN

Stack Overflow用户

发布于 2011-03-15 18:23:42

间隔1秒已经足够小了,您可以在收到对第一个请求的响应之前启动第二个请求。因此,您应该要么在收到前一个请求后启动下一个请求(参见Martin Jespersen的建议),要么将前一个$.ajax请求中的jqXHR保存在一个变量中,并使用它中止前一个请求(请参阅here a)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5310118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档