Javascript 如何忽略ajax超时?

Javascript 如何忽略ajax超时?,javascript,jquery,ajax,timeout,Javascript,Jquery,Ajax,Timeout,我们想让用户决定取消(中止)请求或等待响应。发生超时时,应出现一个确认对话框,为用户提供等待响应或中止请求的机会: $.ajax({ [...] timeout: 2000, success: function(data) { [...] }; }); $.ajaxSetup({ error: function(data, textStatus, pStatusDescription) { if(text

我们想让用户决定取消(中止)请求或等待响应。发生超时时,应出现一个确认对话框,为用户提供等待响应或中止请求的机会:

$.ajax({
    [...]
    timeout: 2000,
    success: function(data) {   
        [...]
    };   
});


$.ajaxSetup({
    error: function(data, textStatus, pStatusDescription) {

         if(textStatus === "timeout")
         {
            if(confirm("Do you want to wait for the response?"))
            {
                // continue request
            }
            else
            {
                // abort request
            }
         }
    }
});

您可以使用另一种方式,通过独立于ajax请求设置超时:

let-xhr;
常量超时=设置超时(()=>{
如果(确认(“是否要等待响应?”)){
//这里可能有一些代码
}否则{
xhr.abort()
}
}, 2000);
xhr=$.ajax({
[...]
错误:函数(){
clearTimeout(超时);
}
成功:功能(数据){
clearTimeout(超时);
[...]
};   

});您可能希望删除Ajax调用中的超时,或者将其设置为一个非常大的数字