如何利用jquery ajax实现循环的ajax请求
想用jqueryajax实现一个可以动态刷新的监控页面,这个页面有2个区域需要每隔10秒就请求数据更新一次,目前知道2种方法:1。页面载入后使用:setInterval(...
想用jquery ajax实现一个可以动态刷新的监控页面,这个页面有2个区域需要每隔10秒就请求数据更新一次,目前知道2种方法:
1。页面载入后使用:setInterval('request',10000)
2。一个ajax请求的completed:阶段再此请求,循环下去。。。
还有别的方法吗,如果没有这2种方法哪个比较好呢,谢谢。或者给出一些建议把。 展开
1。页面载入后使用:setInterval('request',10000)
2。一个ajax请求的completed:阶段再此请求,循环下去。。。
还有别的方法吗,如果没有这2种方法哪个比较好呢,谢谢。或者给出一些建议把。 展开
4个回答
推荐于2016-08-05 · 知道合伙人金融证券行家
关注
展开全部
一般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){
}
});
}
例如:
$.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){
}
});
}
展开全部
你就通过定时器循环ajax的请求呗,或者直接for死循环,通过获取当前时间的秒,当秒钟是10的倍数时请求ajax
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议使用方法2,每次complete的时候,放一个延迟函数setTimeout,继续执行。因为方法1,如果出现响应超过10秒,会再次请求,相当于2个请求了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用第二种,不过需要设置timeout事件以避免一次请求不成功就再也不请求了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询