Javascript XMLHttpRequest是响应到达之前的超时

Javascript XMLHttpRequest是响应到达之前的超时,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我正在调用一个cgi脚本,它需要50分钟来发送响应。我需要保持我的xhr处于活动状态,直到该cgi发出响应。 怎么做? 似乎在某些默认时间后,请求自动超时。您可以使用: xhr.timeout = 10000; xhr.ontimeout = timeoutFired; 为此我认为您不应该在请求中这样做。另一种方法是将请求作为作业提交到某个后端进程/线程/消息队列,并存储一个引用,以便在处理完成后可以访问结果,例如,在数据库甚至文件中 在结果可用之前,您可以显示一些“更新”文本或旋转图标,让用

我正在调用一个cgi脚本,它需要50分钟来发送响应。我需要保持我的xhr处于活动状态,直到该cgi发出响应。 怎么做? 似乎在某些默认时间后,请求自动超时。

您可以使用:

xhr.timeout = 10000;
xhr.ontimeout = timeoutFired;

为此

我认为您不应该在请求中这样做。另一种方法是将请求作为作业提交到某个后端进程/线程/消息队列,并存储一个引用,以便在处理完成后可以访问结果,例如,在数据库甚至文件中

在结果可用之前,您可以显示一些“更新”文本或旋转图标,让用户知道发生了什么


对于这段时间,我不会依赖于打开的HTTP连接。

尝试优化cgi脚本,50分钟太多了:timeoutFired将是您的函数,一旦超时发生,就会调用它,即,如果您想在一定时间后忽略您的请求,然后您可以使用此函数thnx进行回复,但我需要按照要求执行任何操作。实际上,在cgi调用完成之前,用户应该无法执行任何操作。@adn295:为此,只需显示一个禁用背景的加载图像,这样就不会执行任何操作,发送请求后,检查xmlhttprequest请求发送的代码,并在收到响应后删除该图像。