2016-08-11 137 views
1

我使用Angular 2作爲前端。我試圖發送一個對象{ test: 'Hi' }當頭是{'Authorization':'Bearer'+ token}時,req.body是空的

當我的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

@RobM。謝謝你的提示!我更新了一些我的問題,因爲我不知道如何在Angular 2中使用這兩個頭。 –

+0

沒問題,這應該工作:'let headers = new Headers({'Content-Type':'application/json' ,Authorization:'Bearer ....'});' –

回答

1

你應該同時發送標題來表達:

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