当点击刷新按钮时,是否可以停止页面上发生的所有请求/脚本?
我有一个$ .ajax请求需要几分钟。我试图在unload事件中执行window.stop();我试过xhr = $ .ajax(...);和xhr.abort();通过互联网找到的任何其他方法,没有任何作用。
这甚至可能吗?为什么浏览器仍然等待该请求完成并发回响应而不刷新页面?
LATER EDIT(求助):似乎等待问题实际上来自服务器。如果在ajax调用中,脚本使用 SESSION ,则网页将冻结,直到请求完成,即使我们中止xhr也是如此。
这是为什么?说明:
会话数据通常在脚本终止后存储而不需要调用session_write_close(),但是由于会话数据被锁定以防止并发写入,因此任何时候只有一个脚本可以在会话上运行。将框架集与会话一起使用时,由于此锁定,您将体验到逐个加载的框架。只要对会话变量进行了所有更改,就可以通过结束会话来减少加载所有帧所需的时间。