我想使用http调用POST请求向服务器发送标头。 当我只发送标题时,一切正常。 但是当我在调用中添加一些数据时,我收到一个错误:
http://localhost:3000/test_post.
Request header field Content-Type is not
allowed by Access-Control-Allow-Headers in preflight response.
我使用node.js作为服务器端语言,这是CORS设置的代码:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Expose-Headers", "x-auth");
res.header("Access-Control-Allow-Headers", "x-auth");
next();
});
这是$http
调用angular:
$http({
method: 'POST',
data: {name: 'Dani'},
url: 'http://localhost:3000/test_post'
headers: {
'x-auth': 'some token'
}
}).then(function successCallback(response) {
console.log(response.data);
}, function errorCallback(response) {
console.log('error');
});
我知道问题是关于CORS,但我不知道在那里修改什么,
如果我从CORS中删除res.header("Access-Control-Allow-Headers", "x-auth");
,我可以获取服务器上的数据,但不能获取Header。
我怎样才能得到它们? 希望你能帮助我,谢谢你。