【发布时间】:2021-03-20 13:29:24
【问题描述】:
假设用户点击了一个按钮,导致一个 jquery ajax 请求被发送到我的服务器。
服务器响应 ajax 请求开始一个复杂的过程。假设这个过程需要 5 分钟才能完成。
与此同时,用户感到无聊并关闭了他的浏览器窗口。
服务器上的脚本会继续处理直到它在正常时间完成,还是会停止?
如果用户访问一个 url,例如 example.com/process.php?data=xxx,也是如此。这将启动 process.php,它开始处理数据,需要 5 分钟才能完成处理。
这个处理会一直继续吗,或者如果用户关闭浏览器,它会停止吗?
(我之所以这么问,是因为我担心这个过程会半途而废并导致数据损坏)。
【问题讨论】:
-
在 window.onbeforeunload 上中止 HttpRequest ?
-
92 岁的好问题!! :P