如何检测ajax因网络断开或延时导致的错误并重连
展开全部
$.ajax({
async : true , //true异步,false同步
url : '',
data : $(this).serialize() ,
type : 'get',
dataType : 'json' , //xml,html,script,json,jsonp,text
complete : function(XHR ,TS){ alert('complete');} , //完成回调函数(XHR, TS)
error : function(XMLHttpRequest,textStatus ,errorThrown){
// XMLHttpRequest.readyState:
// 0 - (未初始化)还没有调用send()方法
// 1 - (载入)已调用send()方法,正在发送请求
// 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
// 3 - (交互)正在解析响应内容
// 4 - (完成)响应内容解析完成,可以在客户端调用了
// XMLHttpRequest.status:
// textStatus: "timeout", "error", "notmodified" 和 "parsererror"。
// (0)null
// (1)timeout 超时
// (2)error
// (3)notmodified 未修改
// (4)parsererror 解析错误
console.log( XMLHttpRequest );
console.log( textStatus );
console.log( errorThrown );
},//默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
success : function( response ){ alert('success');}
});
可以通过error的状态来判断请求状态,来做异常处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询