2016-09-08 8 views
0

私はangular2/Node.jsアプリケーションを作っています。今はノードサーバーからオブジェクトを取得しようとすると、正常に戻ります。しかし、私はノードサーバーにデータを投稿しようとします。 request.bodyは未定義を示します。何が間違っているのですか?
ノード - ポスト要求が未定義を示しています

server.js

// Test 
router.get('/test', function (req, res) { 
    res.json({test:true}); // Works 
}); 

// Post 
router.post('/rest', function (req, res) { 
    var body = req.body; 
    console.log(body); // Undefined 
    res.json({test:true}); 
}); 

app.ts

constructor(private http:Http){ 
    console.log("Test") 
    http.get('/api/User/test').subscribe(result => { 
     console.log(result.json()); 
    }); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    this.http.post('/api/User/rest',{test:'Testing req'},{headers:headers}) 
    .subscribe(result => { 
     console.log(result.json()); 
    }); 
} 

答えて

1

あなたは身体-パーサをインストールしましたか?

npm install body-parser --save 

とあなたのルートの前に

var bodyParser = require('body-parser'); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

も参照のごExpressアプリケーションに追加:https://github.com/expressjs/body-parser

+0

イム私はapp.useを忘れてしまったidoit(bodyParser.json());部。ありがとうございます – John

+0

よろしくお願いします! –

関連する問題