如何利用jquery ajax实现循环的ajax请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用jquery ajax实现循环的ajax请求相关的知识,希望对你有一定的参考价值。

想用jquery ajax实现一个可以动态刷新的监控页面,这个页面有2个区域需要每隔10秒就请求数据更新一次,目前知道2种方法:
1。页面载入后使用:setInterval('request',10000)
2。一个ajax请求的completed:阶段再此请求,循环下去。。。
还有别的方法吗,如果没有这2种方法哪个比较好呢,谢谢。或者给出一些建议把。

一般ajax提交防止浏览器缓存在请求的url后面加一个时间戳
例如:
$.ajax(
type : "POST",
url : \'demo.action?s=\'+new Date().getTime();,
data:"hotelId":hotelId,
async:false,
cache :false,
dataType : "json",
success : function(json)
//获取后台json格式 dataType : 可选 xml,html.script,json.text ,_default
//data:"hotelId":hotelId, hotelId 是提交的参数
//type : "POST", 可以get 可以post
demo();

);
function demo()

$.ajax(
type : "POST",
url :\'demo.action\',
data:"hotelId":hotelId,
async:false,
cache :false,
dataType : "json",
success : function(json)


);
参考技术A 你就通过定时器循环ajax的请求呗,或者直接for死循环,通过获取当前时间的秒,当秒钟是10的倍数时请求ajax 参考技术B 建议使用方法2,每次complete的时候,放一个延迟函数setTimeout,继续执行。因为方法1,如果出现响应超过10秒,会再次请求,相当于2个请求了。本回答被提问者和网友采纳 参考技术C 用第二种,不过需要设置timeout事件以避免一次请求不成功就再也不请求了

以上是关于如何利用jquery ajax实现循环的ajax请求的主要内容,如果未能解决你的问题,请参考以下文章

ajax在WordPress中加载页面后如何触发jquery插件?

基于jQuery的ajax系列之用FormData实现页面无刷新上传

循环问题 - AJAX/jQuery

Ajax_使用 jQuery 实现Ajax

jQuery中的ajaxjquery中ajax全局事件load实现页面无刷新局部加载ajax跨域请求jsonp利用formData对象向服务端异步发送二进制数据

jquery ajax交互 进度条显示