[问题] ajax的timeout

楼主: mickeyboy (mickey)   2017-10-02 23:57:51
最近在练习ajax 的时候
遇到了如果连线过久的问题
也在ajax 加上了 timeout
浏览器会跳出alert讯息
但网页还是卡住
爬文查了一下
可能是后端程式那边卡住
想请问 如果后端程式呼叫ajax 然后回传过久
所以启动了timeout
但如何让后端程式继续执行?
目前想到的方法是
在error那边return 一个值 然后让后端接收到值就如何动作吗
还是有更好的方法?
感谢
作者: visa9527 (高级伴读士官长)   2017-10-03 11:03:00
卡住?你的callback不会只在成功的地方写吧再来,后端程式不会呼叫AJAX的,只有前端AJAX呼叫后端最后,后端应该return继续做事而不是request结束就结束ignore_user_abort当然现在这种有需要背景长时间运算后回传值的架构大部分都改用 WebSocket 去做了你不可能把 Ajax timeout 无限大一直放在那边等也不需要搞两支 API 一个下命令一个问进度
作者: VdustR (京)   2017-10-05 10:14:00
后端是 php? 不要用 session file 改用 memcache 或 redis注意 race condition
作者: rexyeah (ccccccc)   2017-10-19 11:19:00
也许可以尝试改用socket.io

Links booklink

Contact Us: admin [ a t ] ucptt.com