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调用中的超时,或者将其设置为一个非常大的数字