当 header 为 { 'Authorization': 'Bearer ' + token } 时 req.body 为空

req.body is empty when when header is { 'Authorization': 'Bearer ' + token }

我正在使用 Angular 2 作为前端。我试图发送 Object { test: 'Hi' }.

当我的httpheader是这样的:

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

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

然而,当我的httpheader是这样的:

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

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

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

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

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

你应该发送两个 headers 来表达:

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