Sch*_*tey 4 xmlhttprequest cors
我正在构建文件上传器,在前端使用Vue Dropzone,在后端使用自定义PHP。
我的前端脚本正在发送带有以下标头的请求:
请求标头
POST / jobimport HTTP / 1.1
主机:myurl
连接:keep-alive
内容长度:765309
来源:http:// localhost:8080
用户代理:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_13_3)AppleWebKit / 537.36( KHTML,例如Gecko)Chrome / 65.0.3325.162 Safari / 537.36
Content-Type:multipart / form-data;boundary = ----
WebKitFormBoundaryhaaAoTz2J5iipi3M
接受:application / json
缓存控制:无缓存
X-Requested-With:XMLHttpRequest
引用来源:http:// localhost:8080 / import
接受编码:gzip,deflate,br
接受语言: 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 "*"
Run Code Online (Sandbox Code Playgroud)
使用Chrome时,文件上传没有问题。
在查看请求标头时,我什至看到以下内容:
响应标头
(...)
Access-Control-Allow-Headers:*
Access-Control-Allow-Origin:*
(...)
但是,使用Safari时,上传失败,并且出现以下错误:
加载资源失败:Access-Control-Allow-Headers不允许请求标头字段Cache-Control。
XMLHttpRequest无法加载https:// myurl。Access-Control-Allow-Headers不允许请求标头字段Cache-Control。
我不了解它在Chrome中是如何工作的,但在Safari中却不行。
通过@sideshowbarker和@roryhewitt的意见是正确的,
Safari浏览器确实不支持通配符*的Access-Control-Allow-Headers。
我显式列出了所有标头,而不是使用通配符,现在它可以完美运行了。
| 归档时间: |
|
| 查看次数: |
3538 次 |
| 最近记录: |