Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 为nodejs中的多个域启用Access-Control-Allow-Origin大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Access-Control-Allow-Origin Multiple Origin Domains?                                    26个
我正在尝试在Node.js中允许CORS,但问题是如果设置了Access-Control-Allow-Credentials,我无法将*设置为Access-Control-Allow-Origin.

另外规范说我不能为Access-Control-Allow-Origin做一个数组或逗号分隔值,建议的方法是做类似于这个Access-Control-Allow-Origin Multiple Origin Domains?的操作

但我似乎无法在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”);

客户端浏览器出错:

解决方法

以下是我在快递应用程序中使用的允许多个来源的内容

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();
});

大佬总结

以上是大佬教程为你收集整理的node.js – 为nodejs中的多个域启用Access-Control-Allow-Origin全部内容,希望文章能够帮你解决node.js – 为nodejs中的多个域启用Access-Control-Allow-Origin所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。