1
送信データをキャプチャする必要があります。ミドルウェアを設定し、リクエストとレスポンスヘッダを取得する方法を知っています。ExpressでResponseオブジェクトのデータをキャプチャ(またはログ)する方法は?
私は送信されたデータを取得するよう求めています。
私はこれをしようとしている:
var express = require('express')
var app = express();
var onFinished = require('on-finished')
app.listen(3000);
function logRes(res){
console.log('* captured response *')
console.log(res._header)
console.log(res.statusCode)
console.log(res.statusMessage)
console.log(res.body) // THIS DOES NOT WORKS!
}
app.use(function(req,res,next){
onFinished(res, function (err, res) {
logRes(res)
})
console.log('= captured request =');
console.log(req.method)
console.log(req.path)
console.log(req.query)
next();
});
app.get('/example',function(req,res){
res.header('Content-Type','text/plain');
res.end('example data');
});
はどの// THIS DOES NOT WORKS!
コメントに沿って送信されたデータを見てどのように私に言うことはできますか?サードパーティ製のミドルウェアbody-parser
含むように
'var bodyParser = require( 'body-parser')'は問題を解決しません。私はあなたのコードを試します。私はChromeの 'http:// localhost:3000/example'を入れて、' console.log(res.body) '行に' undefined'を取得します。私は 'body-parse'が要求を解析して、キャプチャされたレスポンスを表示しないようにします** –
@EmilioPlatzer明らかに' bodyParser'はリクエストを解析することです、あなたが送信したデータはボディリクエストの一部ですそれを 'req'オブジェクトから取得する必要があります(resの代わりに)。 – ianaya89
あなたの投稿とあなたのコメントは私の質問に答えていません。送信されたデータを見るには?私はあなたの編集例を試してみます。ログでは、 "example data"は表示されません。あなた見えますか?。私はクライアントに送信されたすべてのデータを見る方法を尋ねようとしています。クライアントは "example data"を受信しましたが(ナビゲータに表示されます)、 'console.log'には表示されません。 –