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

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

阅读 10.1k
7 个回答

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

页面被关闭,页面对应的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);

如果是php的,那是会run的

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

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

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

新手上路,请多包涵

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

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