如何检测ajax因网络断开或延时导致的错误并重连

发布网友 发布时间:2022-04-23 23:46

我来回答

1个回答

热心网友 时间:2022-04-10 03:28

$.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的状态来判断请求状态,来做异常处理。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com