接口内设置
1.C#
HttpContext.Current.Response.Headers["Access-Control-Allow-Origin"] = "*";
HttpContext.Current.Response.ContentType = "application/json";
if (HttpContext.Current.Request.HttpMethod == "OPTIONS"){
HttpContext.Current.Response.StatusCode = 200;
HttpContext.Current.Response.End();
}
2.PHP
header_remove();
//允许跨域
Header("Access-Control-Allow-Headers:Content-Type, Accept");
Header("Access-Control-Allow-Methods:GET,POST,OPTIONS");
Header("Access-Control-Allow-Origin:*");
//禁止缓存
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
//内容格式
header("Content-Type: text/html;charset=utf-8");
3.NodeJS
// 设置允许跨域的源
res.setHeader("Access-Control-Allow-Origin","*"); //req.headers.origin
// 设置cookie允许跨域
res.setHeader("Access-Control-Allow-Credentials", true);
// 设置可以跨域的请求方法
res.setHeader("Access-Control-Request-Method", "POST,GET,OPTIONS");
Web容器设置
1.IIS
IIS,HTTP响应标头添加
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
2.apache
//.conf 中加入三个header
<Directory "D:\public">
Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type"
3.tomcat
//tomcat下自带的cors过滤器
CorsFilter
org.apache.catalina.filters.CorsFilter
cors.allowed.origins
*
cors.allowed.methods
GET,POST,HEAD,OPTIONS,PUT
cors.allowed.headers
Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers
cors.exposed.headers
Access-Control-Allow-Origin,Access-Control-Allow-Credentials
cors.support.credentials
false
cors.preflight.maxage
10
CorsFilter
/*
4.nignx
location / {
# 设置是否允许 cookie 传输
add_header Access-Control-Allow-Credentials true;
# 允许请求地址跨域 * 做为通配符
add_header Access-Control-Allow-Origin * always;
# 允许跨域的请求方法
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'Content-Type,Authorization';
if ($request_method = 'OPTIONS') {return 204; }
}
DUDU