【问题标题】:req.body is empty when when header is { 'Authorization': 'Bearer ' + token }当 header 为 { 'Authorization': 'Bearer ' + token } 时,req.body 为空
【发布时间】:2016-12-18 18:47:14
【问题描述】:

我使用 Angular 2 作为前端。我试图发送一个对象{ test: 'Hi' }

当我的http头是这样的时候:

 let headers = new Headers({ 'Content-Type': 'application/json' });
 let options = new RequestOptions({ headers: headers });

我可以使用req.body在服务器端获取我发送的内容。

但是,当我的http头是这样的:

 let headers = new Headers({ 'Authorization': 'Bearer ' + token });
 let options = new RequestOptions({ headers: headers });

当我再次使用req.body 时,我得到了一个空对象{}

我的服务器使用的是Express.js,我的bodyParser是这样的:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

我怎样才能正确地做到这一点?谢谢

【问题讨论】:

  • 你试过两个标题吗?
  • @RobM。谢谢你的提示!我更新了我的一些问题,因为我不确定如何在 Angular 2 中使用这两个标题。
  • 没问题,这应该可以:let headers = new Headers({ 'Content-Type': 'application/json', Authorization: 'Bearer ....' });
  • @RobM。它完美无缺!你介意回答一下吗,我可以接受

标签: http express angular typescript angular2-universal


【解决方案1】:

您应该将两个标头都发送到快递:

let headers = new Headers({ 
  'Content-Type': 'application/json', 
  'Authorization': 'Bearer ....' 
}); 

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 2019-01-01
    • 2021-09-30
    • 2018-11-13
    • 2020-08-15
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 2021-05-03
    相关资源
    最近更新 更多