最新版本的Chrome是否已停止同步Ajax调用?进行同步Ajax调用时出现错误。我们更新到最新的Chrome版本-73.0.3683.103后,该问题突然出现。目前,同步调用在Firefox和IE上可以正常工作。我们正在错误以下
消息:“无法在’XMLHttpRequest’上执行’发送’:无法加载’Path …’:页面关闭时的同步XHR”。名称:“ NetworkError”
有人可以建议一种解决方案以使Ajax同步呼叫正常工作。我有一些功能需要确定依赖同步调用。
是的,最近在Chrome中,他们不允许在页面结束事件(例如beforeunload和unload)期间使用同步ajax 。您根本无法再在Chrome中做到这一点。 更新: 您可以在v73和v74中再次使用,但(现在)计划在 v75 v80中再次使用(2020年2月)。跟随这个问题的乐趣 (感谢[patmortech]找到该问题)。
beforeunload
unload
现代的替代方法是使用sendBeacon,它使浏览器可以离开页面导航,同时仍然使您有机会告诉服务器正在发生的事情。这不会阻止页面被解雇。但这只是POST,并且由于它不阻止页面解雇,因此依赖于阻止页面解雇的用例将无法使用。
sendBeacon