Angularjs 爱奥尼亚+的CORS发行;表达

Angularjs 爱奥尼亚+的CORS发行;表达,angularjs,node.js,mongodb,express,ionic-framework,Angularjs,Node.js,Mongodb,Express,Ionic Framework,我已经创建了一个应用程序,该应用程序正在访问/获取来自mongo/node+express的数据,它位于不同的域(例如域名) get函数的代码是: var request = $http({ method: 'GET', url: 'https://domain_name.users.io/categories/list', withCredentials: true /* to get the Cookie value

我已经创建了一个应用程序,该应用程序正在访问/获取来自mongo/node+express的数据,它位于不同的域(例如域名)

get函数的代码是:

var request = $http({
            method: 'GET',
            url: 'https://domain_name.users.io/categories/list',
            withCredentials: true  /* to get the Cookie value generated at server-side */
        });
在express端,添加了以下代码以避免CORS问题:

 res.header("Access-Control-Allow-Origin", "*");
 res.header("Access-Control-Allow-Methods","GET,PUT,POST,DELETE,OPTIONS");
 res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
 res.header("Access-Control-Allow-Credentials", "true");
对于以上内容,我得到以下错误:

XMLHttpRequest cannot load https://domain_name.users.io/data/list. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:8100' is therefore not allowed access.
我已经检查了API“”,它没有问题,因为我可以看到数据(在浏览器上点击时)


除了
*
过于宽容,会妨碍使用凭据之外,是否有人能帮我做同样的事情。所以使用
https://domain_name.users.io/data/list
而不是使用
*

你不能像
*
那样做,因为这是安全性的一部分,如果你想允许凭据,那么你的访问控制允许源不能使用*

有关详细信息,请阅读。

必须设置标题:

var request = $http({
            method: 'GET',
            url: 'https://domain_name.users.io/categories/list',
           headers:{'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
            withCredentials: true  /* to get the Cookie value generated at server-side */
        });
================在节点端===============

app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization, Access-Control-Allow-Origin, Access-Control-Allow-Headers');
 next();
});

您是否通过本地主机访问?如果您这样做,我认为您可以使用httpclient访问更改后的
res.header(“accesscontrolalloworigin”,“*”)
res.header(“访问控制允许原点”https://domain_name.users.io“”
现在出现此错误,``XMLHttpRequest无法加载。“Access Control Allow Origin”标头包含多个值“,*”,但只允许一个值。因此不允许访问源'。`我的错误是,我认为localhost是dev版本,domain.com是API服务器。所以,您希望它将访问控制允许源标题设置为“仅”,而不附加其他值。谢谢,它成功了:)。。但是,如果我想从手机访问相同的内容,该怎么办?如果我创建一个.apk文件并将其安装在手机上,我认为它不会。正确的?那么,这个问题的解决方案是什么呢???据我所知,对于.apkok来说,没有什么可以做的。我也试过了。创建了一个.apk文件并将其安装到我的移动设备上。但现在数据不来了,我认为这是因为我们在服务器端定义了来源。即