最近在做页面的时候发现前端HTML页面通过ajax请求后台数据,设置了十五秒的定时请求,每次第一次到页面的时候都没有数据,然后等十五秒后就有数据刷新出来,那别人第一次访问就没数据,也太尴尬了。。。 然后问问度娘找到了解决办法,下面就写一个模板吧,以防忘记。
var ssc = function(){
$.ajax({
url:'/xxx/xxx/xxx', //请求地址
dataType:'json', //返回的数据类型
type:'POST', //请求的类型
timeout:5000, //请求超时时间
//请求成功
success:function(data,status){
//里面写请求成功你要做的事情
.........
},
//失败/超时
error:function(XMLHttpRequest,textStatus,errorThrown){
if(textStatus==='timeout'){
alert('請求超時');
setTimeout(function(){
alert('重新请求');
},2000);
}
//alert(errorThrown);
}
});
return ssc;
}
setInterval(ssc(),15000); //设置ajax 15秒请求一次数据
主要就是把ajax里面的外面套一层,然后加了一个return,后面调用的时候直接调用ssc()就行了。