我有一个请求,需要后台计算很长时间,超过一小时,用jquery的ajax发送请求,后台设置的超时时间远超过一小时,ajax没有设置过timeout参数.但是一小时后ajax的error函数就报超时错误.此时后台代码还在正常运行.这可能是浏览器对于XMLHTTPRequest对象有超时处理吗?
我有一个请求,需要后台计算很长时间,超过一小时,用jquery的ajax发送请求,后台设置的超时时间远超过一小时,ajax没有设置过timeout参数.但是一小时后ajax的error函数就报超时错误.此时后台代码还在正常运行.这可能是浏览器对于XMLHTTPRequest对象有超时处理吗?
客户端: "喂? 你算好了吗?"
服务端: "没有, 滚".
嘟嘟嘟~~
客户端: "你怎么挂我电话".
...5s后.
客户端: "喂? 你算好了吗"
服务端: "没有, 滚."
嘟嘟嘟~~
客户端: "你又挂我电话!"
...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
首先您们这么设计显然不合理!让用户等待本身就不合理,更何况还要等待一个小时之久!建议你们更改成异步。
推荐更改诸如以下流程:
1、当前端正常发起请求。
2、服务端收到请求,不管是否计算完成,都给前端响应,计算的程序异步执行。
3、前端收到响应,然后展示一些诸如请等待计算结果等文案,然后轮询调用一个查看计算结果的接口!有结果则显示结果即可!