1.是设置超时时间让ajax自动断开,

let auto = $.ajax({
    url:"请求地址",
    type:"post",//请求方式,get、post
    dataType: "json", //返回数据的格式, "xml", "html", "script", "json", "jsonp", "text".
    timeout:10000,//设置超时的时间10s
    anync:true,//请求方式 true异步请求(默认) false同步请求
    cache:false,//禁用缓存
    
    /在默认情况下,跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据。如果服务器接收带凭据的请求,会用下面的HTTP头部来响应。
    //虽然设置了widthCredentials为true的请求中会包含远程域的所有cookie,但这些cookie仍然遵循同源策略,所以外域是访问不了这些cookie的,现在我们就可以安全地跨域访问啦。
    xhrFields: {
        withCredentials: true
    },
    crossDomain: true, //这里代表使用跨域请求

    data:data,
    // 在请求之前调用的函数
    beforeSend:function(){
        // 函数体
    },
    // 成功返回之后执行函数
    success:function(data){
        console.log(data)
    },
    // 调用出错之后执行函数
    error:function(err){
        console.log(err)
    },
    //调用执行后调用的函数,无论成功或失败都调用
    complete:function(XMLHttpRequest,textStatus){
        if(textStatus == 'timeout'){
            if (error_callback != null && error_callback != "") {            
                error_callback();
            };
        }
    }

})
// 2.手动去停止ajax请求,其核心是调用XMLHttpRequest对象上的abort方法
    auto.abort()
// 小知识:$.get()、$.post、$.ajax、$.getJSON、$.getScript 返回值都是 XMLHttpRequest 对象;

更多推荐