2016-03-19 7 views
0

ここコードだ、htisエクスプレスフレームワーク使用のNode.jsである:オブジェクトのres.sendが機能していませんか?


var express = require('express'); 
var router = express.Router(); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Expressxx' }); 
}); 

router.post('/', function(req, res, next) { 

    var body = ''; 

    req.on('data', function(chunk) { 
    body += chunk; 
    }); 

    req.on('end', function() { 
    console.log(body); 
    }); 

    /* res.send('Got the Post'); */ 

    res.set('Content-Type', 'text/plain'); 
    res.send('this is the body' + body); 
    res.end(); 

}); 

module.exports = router; 

iがにconsole.logを行う(本体)私は予想されるデータを見ていますが、私が見るクライアントでは、これは「これはボディです」です。 res.sendはボディobjを読み取ることができないようですか?

おかげで....あなたは上記の持っている

答えて

1

コードがdataイベントがトリガされる前に応答を送信し、そのbodyが出て構築されることはありません。 res.sendとそれに関連するコールをendイベントハンドラ内で移動すると、必要なものが得られます。

0

もう少しテストした後、res.sendがJson objの場合はobjを送信するようです。私の場合、そのオブジェクトobjの平易なテキストです。

私はここで、この方法について読む... http://expressjs.com/en/api.html#res.send

それは言う: 身体パラメータは、バッファオブジェクト、文字列、オブジェクト、またはArray

ことができることはしませんでしたそれはjson objでなければならないと言うか?

関連する問題