gpt4 book ai didi

Safari 中的 CORS 错误,而不是 Chrome

转载 作者:行者123 更新时间:2023-12-04 18:01:19 25 4
gpt4 key购买 nike

我正在构建一个文件上传器,
使用 Vue Dropzone在前端,
并在后端自定义 PHP。

我的前端脚本正在发送带有以下 header 的请求:

Request headers
POST /jobimport HTTP/1.1
Host: myurl
Connection: keep-alive
Content-Length: 765309
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36
Content-Type: multipart/form-data; boundary=----
WebKitFormBoundaryhaaAoTz2J5iipi3M
Accept: application/json
Cache-Control: no-cache
X-Requested-With: XMLHttpRequest
Referer: http://localhost:8080/import
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,nl;q=0.8,de;q=0.7,fr;q=0.6



在后端的 .htaccess 文件中,我添加了以下几行:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "*"

使用 Chrome 时,文件上传没有问题。
在查看请求 header 时,我什至看到以下内容:

Response headers
(...)
Access-Control-Allow-Headers: *
Access-Control-Allow-Origin: *
(...)



但是,在使用 Safari 时,上传失败,并且出现以下错误:

Failed to load resource: Request header field Cache-Control is not allowed by Access-Control-Allow-Headers.
XMLHttpRequest cannot load https://myurl. Request header field Cache-Control is not allowed by Access-Control-Allow-Headers.



我不明白这在 Chrome 中是如何工作的,但在 Safari 中则不然。

最佳答案

@sideshowbarker 和 @roryhewitt 的评论是正确的,
Safari 确实不支持通配符 *Access-Control-Allow-Headers .
我明确列出了所有标题,而不是使用通配符,现在它可以完美运行。

关于Safari 中的 CORS 错误,而不是 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304677/

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