【发布时间】:2017-03-13 09:03:01
【问题描述】:
CORS 的 Safari (10 - OSX El Capitan) 问题
我正在做一个从 AngularJS 前端到 Laravel 后端的 CORS POST 请求。
- 在 Chrome 和 Firefox 中,OPTIONS 和 POST 请求都返回 http 状态 200 OK
- 在 Safari 10 (OSX) 中,OPTIONS 和 POST 请求都返回 http 状态 200 OK,但 OPTIONS 请求继续加载(http 状态 200 OK!)
请求标头
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
Host:x.local
Origin:http://y.local
Pragma:no-cache
Referer:http://y.local/
响应标头
Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods:POST, GET, OPTIONS, PUT
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Connection:keep-alive
Content-Length:16
Content-Type:application/json
Date:Mon, 31 Oct 2016 09:22:51 GMT
Server:nginx/1.11.1
在我获得 http 状态 200 OK(OPTIONS 请求)后,Safari 挂起。我该怎么办?
【问题讨论】:
-
听起来类似于stackoverflow.com/questions/38789251/…(无应答)
-
@GünterZöchbauer 谢谢,但它不适用于 HTTP 和 HTTPS。
-
看起来它没有包含明确的解决方案,但看起来有些东西值得尝试。
标签: javascript php angular cors laravel-5.3