ajax判断网络中断,如何检测由于网络Ajax调用失败断开

我遇到过类似的情况,像你的,并通过网络检查每5秒修复它,如果网络断开连接,我会中止ajax请求手动结束ajax请求。

这里我在jQuery ajax调用的beforeSend事件中获取ajax XmlHttpRequest,并在网络故障的情况下使用该对象中止ajax请求。

var interval = null;

var xhr = null;

$.ajax({

beforeSend: function(jqXHR, settings) {

xhr = jqXHR; // To get the ajax XmlHttpRequest

},

url:'server.php',

data:'lots of data from 200KB to 5MB',

type:'post',

success: function(data)

{

alert('Success');

//some stuff on success

},

error: function(XMLHttpRequest, textStatus, errorThrown)

{

alert('Failure');

//some stuff on failure

},

complete: function(data)

{

alert('Complete');

//To clear the interval on Complete

clearInterval(interval);

},

});

interval = setInterval(function() {

var isOnLine = navigator.onLine;

if (isOnLine) {

// online

} else {

xhr.abort();

}

}, 5000);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值