防止长时间运行Ajax请求超时

时间:2017-04-12 14:11:05

标签: javascript ajax

我有一个应用程序,它发送一个AJAX请求来执行一些服务器端代码。此代码大约需要10分钟才能执行并响应数据。

在此操作完成之前,Web服务器和浏览器都会超时。 构造此请求以防止网关超时的最佳方法是什么?

ajax请求以json对象响应。这是处理此问题的正确结构吗?

Client executes ajax to start server-side processing
|
|___server working to process data (ETA 10 min)
|  |
|  server finishes and writes file with json object
|
Client recursively ajax requests some endpoint to check for completion
|
|___endpoint returns true
   |
   ajax request for server generated JSON file

1 个答案:

答案 0 :(得分:0)

最后我决定使用websockets。看起来如果它是一个非常长的操作,你可以生成一个文件并检查该文件,或者使用websockets创建一个实时应用程序。