gpt4 book ai didi

ajax - 同步 AJAX 调用在 iPad 上失败,但在其他平台和浏览器上没有

转载 作者:行者123 更新时间:2023-12-05 01:03:50 24 4
gpt4 key购买 nike

有谁知道为什么同步 ajax 调用会失败并在 iPad 上的 Safari 上出现以下错误,但相同的代码在我迄今为止测试过的所有其他平台和浏览器上都可以正常工作?

NETWORK_ERR:XMLHttpRequest 异常 101:同步请求中发生网络错误。

该错误表明我正在尝试跨域请求,但我不是;请求的 URL 位于同一主机上,实际上它是一个相对 URL。即使在微不足道的测试中,这在 iPad 上也会失败(并且适用于所有其他平台和浏览器,包括 Safari),所以我相信我已经排除了任何超时的可能性。

同样,如果异步发出相同的请求,在 iPad 上也能完美运行;只有同步请求才会给出 101 异常。这让我疯狂!

还有一点细节:这只发生在我的生产服务器上。同步 ajax 调用实际上在我的开发服务器上运行良好。两台服务器都需要相同的客户端证书......所以我认为没有任何区别。我想不出两台服务器之间的任何区别可能会在这里产生影响。

对这个问题的任何见解将不胜感激。谢谢!

最佳答案

事实证明,我们的开发系统和生产系统之间的主要区别在于证书要求。

事实证明,问题出在 iPad 版 Safari 上的 XMLHttpRequest.send() 处理受证书保护的域上的同步请求的方式上的问题。我无法解释该方法的内部结构,但不知何故它有问题并抛出 101 异常,相信它 - 显然 - 是一个跨域请求。同样,在同一个受证书保护的服务器上异步发出的相同请求工作正常。令人沮丧的案例,而且没有解决方案!

关于ajax - 同步 AJAX 调用在 iPad 上失败,但在其他平台和浏览器上没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com