ajax timeout如何使用
1、一、当我们在开发项目的时候,需要向后台服务器轮询某项服务是否可用的时候,可以用到setTimeout方法。在一定时间间隔内不断向服务器发送请求。
var checkLoading = function(timer) {
//先延时再获取状态,否则立即获取可能重启前的服务还没有关闭
setTimeout(function() {
$.ajax({
url: '',//填写接口url
dataType: 'json',
timeout: 1000,
success: function(result) {
console.log('OK')
},
error: checkLoading
})
}, timer || 1000)
}
//第一次等10秒
checkLoading(10000)
2、二、如果是想判断ajax操作的完成情况(是否超时/成功/失败等),可以使用以下方法:
var Timeout = $.ajax({
url:'', //填写接口url
timeout : 1000, //超时时间,单位为毫秒
type : 'post', //请求方式,get或post
data :{}, //请求所传参数,json格式
dataType:'json',//返回的数据格式
success:function(data){ //请求成功的回调函数
console.log('成功');
},
complete : function(XMLHttpRequest,status){
if(status=='timeout'){//timeout表示超时,status还有success,error等值的
Timeout.abort();
console.log('超时');
}
}
});