我有一个存储过程,执行该过程需要10秒钟,并返回10,000条数据记录。 但是每次我调用API时,该调用都会导致连接超时。 如果我能够增加REST请求的超时,那么它将正常工作。
我的主要问题是:如果发生超时,如何在AJAX请求中得到超时错误,以便向用户显示发生了超时?每次AJAX调用失败,并且我都不会收到错误消息,表明发生了超时或找不到数据。
答案 0 :(得分:3)
这是您可以用来检测超时错误并在用户的首页上显示的东西:
$.ajax({
url: "/ajax_json_echo/",
type: "GET",
dataType: "json",
timeout: 1000,
success: function(response) { alert(response); },
error: function(xmlhttprequest, textstatus, message) {
if(textstatus==="timeout") {
alert("got timeout");
} else {
alert(textstatus);
}
}
});
答案 1 :(得分:1)
我认为如果您使用rest api,特别是作为客户端,最好保持超时。我观察到类似的连接超时问题,该问题通过将一段代码connection.setConnectTimeout(5000);将在5秒内超时。