2017-02-03 4 views
0

私はnodeJS-expressエンドポイントにGETリクエストを送信する単純なアプリケーションを実装しています。このエンドポイントはこれを返している:nodeJSリクエストを使用した応答の本文はどこですか?

request.get(BASE_URL) 
    .on("error", err => { 
     console.log(`ERROR: ${err}`) 
    }) 
    .on("response", res => { 
     console.log(`RESPONSE: ${res.statusCode} - ${res.body}`) 
    }); 

しかしbodyは常にundefinedです:

router.get('/', (request, response) => { 
    response.status(500).send("Error message"); 
} 

私のアプリは、このような要求を送信するためにrequestを使用しています。私が使用しようとしました:

.on("response", res => { 
    res.on("data",() => { 
     console.log(`RESPONSE: ${res.statusCode} - ${data}`) 
    } 
}); 

しかしdataは、いくつかのバイト配列です。文字列のメッセージがほしいのですが、どこにあるのですか?callback syntaxを使わずに文字メッセージを入力するだけです。

答えて

0

Expressを使用している場合は、リクエスト本体の解析にボディーパーサーミドルウェアを注入する必要があります。

const bodyParser = require('body-parser'); 
app.use(bodyParser.json()); 

app.post('/login', (req, res) => { 
    console.log(req.body); //data 
}) 
+0

はい私はすでにこれを使用しています。問題は何とか '.on( "レスポンス"、...)構文です。リクエスト(オプション、コールバック)を使用すると、response.bodyにはメッセージが含まれています! – josemigallas

+0

エクスプレスを使用している場合は、http構文を使用する必要はありません。エクスプレスは短いです。 –

+0

Expressはバックエンドにあります。私の質問は、 'request'を使ってクライアントについてです。 – josemigallas

関連する問題