2016-06-23 22 views
1

Node "req is not defined"req.body is empty when making a post request via http.requestなどのスレッドを試しましたが、問題は残ります。Node.js req.bodyが空です

サーバー側のコード:

var express = require('express'); 
var bodyParser = require('body-parser'); 
var validator = require('validator'); 
var app = express(); 

app.use(bodyParser.urlencoded({ extended: false })); 
app.use(bodyParser.json()); 
app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    next(); 
}); 

app.post('/sampleurl', function (req, res) { 
    var reqbody = req.body; 
    console.log(reqbody); 
}); 

app.listen(process.env.PORT); 
console.log("listening"); 

は私が(hurl.itを使用して)送信:

私は戻って、サーバー(にconsole.log)から何を得る

post request response

listening 
{} 
+1

'reqbody'を' req.test'として定義してみてください。 –

答えて

5

私はあなたに試しましたr code ..それは完璧です..

あなたが欠けているものは、リクエストでヘッダーを追加することです。

が正しい他の答えを拡張するapplication/jsonenter image description here

+0

ありがとう、それは今働いています。 – Robert

2

としてContent-Typeヘッダを追加し、ボディパーサーは、HTTPボディを解析しようとする前Content-Typeをチェックします。あなたはこの動作を変更したい場合、あなたは関係なく、Content-TypeのJSONに任意の入力を解析するボディパーサー試みを持つことができます

app.use(bodyParser.json({ type: '*' })); 

ワイルドカード*は、上の解析しようとすることを教えてくれます任意のタイプ:https://github.com/expressjs/body-parser#bodyparserjsonoptions

+0

すばらしい方法です!あなたの答えをありがとう。 – Robert

関連する問題