为jquery的ajax请求添加超时timeout时间的操作⽅法
下⾯给⼤家介绍为jquery的ajax请求添加超时timeout时间的实例
有时侯要⽤ajax来轮询某个服务是否可⽤,但是各个浏览器ajax的超时时间有可能不⼀样,所以希望ajax能只尝试⼏秒钟,然后隔⼏秒再次发送⼀次ajax检查⼀次。可以⽤timeout属性。
var checkLoading = function(timer) {
//先延时再获取状态,否则⽴即获取可能重启前的服务还没有关闭
setTimeout(function() {
$.ajax({
url: '/onceos/version',
dataType: 'json',
timeout: 4000,
success: function(result) {
console.log('OK')
},
error: checkLoading
})
}, timer || 1000)
}
//第⼀次等10秒,第⼀次轮
checkLoading(10000)
jquery实现ajax补充:下⾯介绍下jquery ajax超时设置
var ajaxTimeoutTest = $.ajax({
url:'', //请求的URL
timeout : 1000, //超时时间设置,单位毫秒
type : 'get', //请求⽅式,get或post
data :{}, //请求所传参数,json格式
dataType:'json',//返回的数据格式
success:function(data){ //请求成功的回调函数
alert("成功");
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执⾏参数
if(status=='timeout'){//超时,status还有success,error等值的情况
ajaxTimeoutTest.abort();
alert("超时");
}
}
});
设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执⾏响应的操作。
总结
以上所述是⼩编给⼤家介绍的为jquery的ajax请求添加超时timeout时间的操作⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论