ajax请求超时

我有一个请求,需要后台计算很长时间,超过一小时,用jquery的ajax发送请求,后台设置的超时时间远超过一小时,ajax没有设置过timeout参数.但是一小时后ajax的error函数就报超时错误.此时后台代码还在正常运行.这可能是浏览器对于XMLHTTPRequest对象有超时处理吗?

阅读 10.1k
6 个回答

首先您们这么设计显然不合理!让用户等待本身就不合理,更何况还要等待一个小时之久!建议你们更改成异步。
推荐更改诸如以下流程:
1、当前端正常发起请求。
2、服务端收到请求,不管是否计算完成,都给前端响应,计算的程序异步执行。
3、前端收到响应,然后展示一些诸如请等待计算结果等文案,然后轮询调用一个查看计算结果的接口!有结果则显示结果即可!

ajax 里设置timeout = 大一点的毫秒数
话说ajax等一个小时。。。。用户不会砸电脑?

超时就超时嘛,不要纠结这个问题,你可以判断一下假如连接是因为超时报错,你可以再发送一次请求。假如再超时,再发,这是一个比较优雅的处理方式,同时前端需要有进度条之类的

这个等待时间也太长了把,就用户体验来说,感觉不科学呀

谢谢大家 你们不用帮我考虑科学不科学的问题 是的 这确实是一个不太常见的情况 但是事实就是存在

客户端: "喂? 你算好了吗?"
服务端: "没有, 滚".
嘟嘟嘟~~
客户端: "你怎么挂我电话".
...5s后.
客户端: "喂? 你算好了吗"
服务端: "没有, 滚."
嘟嘟嘟~~
客户端: "你又挂我电话!"
...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题