我一直试图将超时设置为120秒或更长时间,但无论我做什么,他们只是在60秒后超时。
我试过了:
$.ajax({
url: URL,
timeout: 120000,
success: function(html){
console.log("done");
}
});
和
$.ajaxSetup({
timeout: 120000,
});
1分钟后,它只会将其记录到控制台:
GET website_url 504 (Gateway Time-out)
l.cors.b.crossDomain.send @ jquery-2.2.1.min.js:4
n.extend.ajax @ jquery-2.2.1.min.js:4
(anonymous function) @ jsfile.js:89
(anonymous function) @ jsfile.js:98
但他们所有人都在60s后显示超时。如果有所作为,我会使用Chrome。有谁知道为什么?我的服务器仍然发送数据(我发送后将其记录到控制台)大约80秒左右,但AJAX超时时间为60秒:\
有谁知道为什么会这样?是否有内置的chrome限制?
答案 0 :(得分:0)
请阅读$ .ajax documentation,这是一个涵盖的主题。
这适用于你 -
$.ajax({
url: "test.html",
error: function(){
// will fire when timeout is reached
},
success: function(){
//do something
},
timeout: 120000 // sets timeout to 120 seconds
});
您可以通过访问错误的textStatus
参数function(jqXHR, textStatus, errorThrown)
选项来查看引发的错误类型。选项包括“timeout
”,“error
”,“abort
”和“parsererror
”。
如果您收到错误504,那么
这通常意味着上游服务器已关闭(对网关/代理没有响应),而不是上游服务器和网关/代理不同意交换数据的协议。
请查看 here for detail 。
你会理解为什么你会收到这个错误。
答案 1 :(得分:0)
我认为此代码适用于您
a