gpt4 book ai didi

ios - 如何修复 iOS 12 Safari Cors 预检错误?

转载 作者:可可西里 更新时间:2023-11-01 05:39:37 26 4
gpt4 key购买 nike

我试图更好地理解 COR,因为我们网络应用程序的几个用户提示自从他们升级到 iOS 12 后他们收到预检错误。

来自网络检查器的错误

[Error] Preflight response is not successful
[Error] Fetch API cannot load https://www.api.com due to access control checks.
[Error] Failed to load resource: Preflight response is not successful (v4, line 0)

客户端应用程序是带有 Apollo 的 React 应用程序。它使用 Apache HTTPD 和 Express JS 通过 HTTPS 调用服务器。

在所有其他浏览器上一切正常,这与 iOS 12 隔离。

奇怪的是,当我查看 HTTPD 访问日志时,我看不到任何预检调用。当我尝试直接访问服务器时(在 iOS 12 上),我在日志中看到了预检 OPTIONS 请求和 POST。但是当通过 web 应用程序调用服务器时,CORs 预检失败。

在 express 应用程序中,我也注销了所有请求,但它也没有出现。

在 HTTPD 中我有

的设置
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS

在 express 中我有同样的东西。

有什么想法吗?!

最佳答案

这是 iOSv12 中的一个错误,但它已在 iOSv12.1 beta (16B5059d) 中修复,前提是当前的 beta 代码已投入生产。

问题是 iOSv12 WebKit 预检 OPTIONS 调用不会离开设备。我已经运行 WireShark 和 iOSv12 模拟器来确认这一点。

关于ios - 如何修复 iOS 12 Safari Cors 预检错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52434011/

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