在JavaScript中请求POST并超时

在JavaScript中请求POST并超时,javascript,ajax,post,request,timeout,Javascript,Ajax,Post,Request,Timeout,我想发送如下请求: $.ajax({ type: "POST", url: url, data: data, success: function(data) { console.log(data); var file = new Blob([data], { type: 'application/zip' }); var fileURL = URL.createObjectURL(file); window.open(fileU

我想发送如下请求:

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: function(data) {
    console.log(data);
    var file = new Blob([data], {
      type: 'application/zip'
    });
    var fileURL = URL.createObjectURL(file);
    window.open(fileURL);
  },
  error: function(xmlhttprequest, textstatus, message) {
    if (textstatus === "timeout") {
      alert("got timeout");
    } else {
      alert(textstatus);
    }
  },
  timeout: 10000
});
但是超时是不够的。我在Java服务器中有一个错误:

尝试在关闭的通道上写入[keepAlive:true]:远程主机可能已关闭连接

有没有一种方法可以进行查询,使连接保持打开状态,直到找到答案


谢谢

将timeout设置为0表示无限,默认为0,但有些浏览器有自己的超时。我希望您也知道超时时间是以毫秒为单位的,因此您只需等待10秒,可以尝试将超时时间增加到60秒(60000),如果
timeout:0
不起作用

可能是服务器端问题,您需要将超时时间更改为您的服务器站点应用程序