如何将数据和标题发送到服务器?

时间:2017-08-15 07:56:10

标签: angularjs node.js

我想使用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。

我怎样才能得到它们? 希望你能帮助我,谢谢你。

0 个答案:

没有答案