CORS需要浏览器和服务器同时支持。 目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。
简单请求非简单请求,会出现"预检"请求
通用配置
'Access-Control-Allow-Origin: *'
'Access-Control-Allow-Credentials:true'
'Access-Control-Max-Age: 1800'
'Access-Control-Allow-Methods: *'
'Access-Control-Allow-Headers: *'
Nginx配置
location
/ {
add_header Access
-Control
-Allow
-Origin
*;
add_header Access
-Control
-Allow
-Credentials true
;
add_header Access
-Control
-Allow
-Methods
*;
add_header Access
-Control
-Allow
-Headers
*;
if ($request_method = 'OPTIONS') {
return
204;
}
}
如果不成功,可以尝试增加always
add_header Access-Control-Allow-Origin * always;
参考
没错,就是Access-Control-Allow-Origin,跨域跨域资源共享 CORS 详解nginx 配置add_header ‘Access-Control-Allow-Origin’ ‘*’ 依然存在跨域问题