首页 > 页面中发起ajax request后,关闭了网页窗口,ajax 会正常run到结束吗?

页面中发起ajax request后,关闭了网页窗口,ajax 会正常run到结束吗?

在一个Web页面中发起ajax request后,在response返回前关闭了网页窗口,ajax request在后台会正常run到结束吗?回调函数会被执行吗?


这个问题好理解
你对着一个地方开了一枪后走开了,子弹还会过去吗?
子弹打到对方后,往你刚刚开枪的地方回击,会打中你吗?


页面被关闭,页面对应的AJAX请求应该也被浏览器中断了.
http://php.net/manual/zh/function.ignore-user-abort.php
php.ini中ignore_user_abort默认是Off,不忽略用户的中断,也就是客户端断开连接后,脚本将被中止.不过在PHP尝试发送信息到客户端之前,不会检测到用户是否已中断连接.仅使用echo语句不能确保信息已发送,参见flush()函数.如果想要确保在用户中断后继续执行PHP代码,需要设置:
ignore_user_abort(true);


如果后端接到了请求,后台便会执行。


总的来说http是一个无状态协议,所以web页面发起了ajax request后,后台是不会知道你前端网页是否关闭了的,后台都是会run到结束的。


都跑到后台了,服务器可不会管你浏览器关没关。


如果是php的,那是会run的


后台会执行完操作,但是前台页面关了,应该没有后续操作。

【热门文章】
【热门文章】