当前位置: 首页 > 面试题库 >

Chrome中的Ajax同步请求失败

国晟睿
2023-03-14
问题内容

最新版本的Chrome是否已停止同步Ajax调用?进行同步Ajax调用时出现错误。我们更新到最新的Chrome版本-73.0.3683.103后,该问题突然出现。目前,同步调用在Firefox和IE上可以正常工作。我们正在错误以下

消息:“无法在’XMLHttpRequest’上执行’发送’:无法加载’Path …’:页面关闭时的同步XHR”。名称:“ NetworkError”

有人可以建议一种解决方案以使Ajax同步呼叫正常工作。我有一些功能需要确定依赖同步调用。


问题答案:

是的,最近在Chrome中,他们不允许在页面结束事件(例如beforeunloadunload)期间使用同步ajax
。您根本无法再在Chrome中做到这一点。 更新: 您可以在v73和v74中再次使用,但(现在)计划在 v75
v80中再次使用(2020年2月)。跟随这个问题的乐趣 (感谢[patmortech]找到该问题)

现代的替代方法是使用sendBeacon,它使浏览器可以离开页面导航,同时仍然使您有机会告诉服务器正在发生的事情。这不会阻止页面被解雇。但这只是POST,并且由于它不阻止页面解雇,因此依赖于阻止页面解雇的用例将无法使用。



 类似资料:
  • 问题内容: 同步请求和异步请求之间的性能(速度方面)是否有差异? 使用异步请求的所有原因是什么? 问题答案: 您应该始终使用异步Ajax请求,实际上,我只知道应该使用同步Ajax请求的一个地方,即您是否在Ajax请求中,将新的JavaScript文件嵌入客户端,然后引用类型和/或原始Ajax请求返回的JavaScript文件中的对象。然后,应该(或可以理智地)通过使用同步Ajax请求包括对这个新J

  • 下面的代码我得到当我使用异步.当我使用同步时,它成功了。 链接失败,但在异步和同步情况下都成功。 出什么事了?这是在Python3.4中实现的。2在FreeBSD8上,aiohttp 0.14。4,请求2.5。3. 此操作的输出为:

  • 问题内容: 我过去曾经做过一些jQuery,但是我完全坚持了这一点。我了解使用同步ajax调用的优缺点,但是在这里将是必需的。 远程页面已加载(由firebug控制),但未显示任何返回信息。 我应该采取什么措施才能使函数正确返回? 问题答案: 在发出同步请求时,应该 范例-http://api.jquery.com/jQuery.ajax/#example-3 请注意: 设置异步属性设置为fals

  • 问题内容: 我有一个网页,可通过Ajax处理机器的远程控制。当用户离开页面时,我想自动与机器断开连接。所以这是代码: 断开连接功能只是将HTTP GET请求发送到PHP服务器端脚本,该脚本完成了断开连接的实际工作: 在FireFox中可以正常工作。但是使用Chrome,根本不会发送ajax请求。有一个不可接受的解决方法:向回调函数添加警报: 添加警报呼叫后,请求将成功发送。但是正如您所看到的,这根

  • 问题内容: 如何使Ajax请求同步? 我有一个需要提交的表格。但是只有在用户输入正确的密码时才需要提交。 这是表单代码: 用于发送和检查密码的jQuery代码是这样的: 但是,无论ajax请求返回的值如何,该表单始终提交。我检查了其他所有内容。输入正确的密码后,arr的值将显示为“成功”,反之亦然。 如何使此请求同步?据我可以调试,请求是异步的,因此在请求完成之前先提交表单。 checkpass.

  • 问题内容: 如果我需要按顺序调用3 http API,那么以下代码将是更好的选择: 问题答案: 使用像这样的延期。 如果您需要传递范围,则只需执行以下操作