当标题为{'授权':'承载'+标记}时,req.body为空

时间:2016-08-11 21:22:25

标签: http express angular typescript angular2-universal

我使用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 }));

我该怎么做才能正确?感谢

1 个答案:

答案 0 :(得分:1)

你应该发送两个标题来表达:

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