我试图在node.js中允许CORS,但是问题是我无法设置*
为Access-Control-Allow-Origin
if Access- Control-Allow-Credentials
。
另外规范说我不能为数组或逗号分隔值,Access-Control-Allow-Origin
建议的方法是做类似于此Access-Control-Allow-Origin多源域的操作?但是我似乎无法在node.js中这样做
["http://mydomain.com:9001", "http://mydomain.com:5001"].map(function(domain) {
res.setHeader( "Access-Control-Allow-Origin", domain );
});
res.header( "Access-Control-Allow-Credentials", true );
这里的问题是它会被数组中的最后一个值覆盖,因此标头将设置为 res.setHeader( "Access-Control-Allow-Origin", "http://mydomain.com:5001" );
来自客户端浏览器的错误:
XMLHttpRequest无法加载http://mydomain.com:9090/api/sync。“
Access-Control-Allow-Origin”标头的值“
http://mydomain.com:5001 ”不等于所提供的来源。因此,不允许访问来源“
http://mydomain.com:9001 ”。
这是我在快递申请中使用的允许多个来源的商品
app.use(function(req, res, next) {
var allowedOrigins = ['http://127.0.0.1:8020', 'http://localhost:8020', 'http://127.0.0.1:9000', 'http://localhost:9000'];
var origin = req.headers.origin;
if(allowedOrigins.indexOf(origin) > -1){
res.setHeader('Access-Control-Allow-Origin', origin);
}
//res.header('Access-Control-Allow-Origin', 'http://127.0.0.1:8020');
res.header('Access-Control-Allow-Methods', 'GET, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
res.header('Access-Control-Allow-Credentials', true);
return next();
});
Access-Control-Allow-Origin响应 header 指示是否该响应可以与具有给定资源共享原点。 Header type Response header Forbidden header name no 语法 Access-Control-Allow-Origin: *Access-Control-Allow-Origin: <origin> 指令 * 对于没有凭据的请求,服务
的Access-Control-Allow-Headers响应报头在响应用于一个预检请求指示哪个HTTP标头将通过提供Access-Control-Expose-Headers使实际的请求时。 的简单标头,Accept,Accept-Language,Content-Language,Content-Type(任一,但仅与一个MIME类型其解析值的(忽略参数)application/x-www-f
Access-Control-Allow-Credentials响应报头指示的请求的响应是否可以暴露于该页面。当true值返回时它可以被暴露。 凭证是 Cookie ,授权标头或 TLS 客户端证书。 当作为对预检请求的响应的一部分使用时,它指示是否可以使用凭证进行实际请求。请注意,简单的GET请求不是预检的,所以如果请求使用凭证的资源,如果此资源不与资源一起返回,浏览器将忽略该响应,并且不会返回
Response.AddHeader(“Access-Control-Allow-Origin”,“*”)是如何实现的;行设置多个标题时,包括,但没有当我删除它?
问题内容: 我正在尝试将获取请求发送到api,就像它是登录网址 我在控制台中收到此错误 XMLHttpRequest无法加载http://demo.software.travel/gptp/api/authorization?apiKey= *&alias = &login = &password = *。“ Access-Control-Allow- Origin”标头包含多个值“ http:/
我试图将get请求发送到api,就像它是一个登录url一样 请求标题: