Nodejs:我如何使用express4简单地获取请求体?

时间:2014-05-30 11:49:44

标签: node.js express express-4

现在快递不再发布了填充req.body变量的中间件,我正在争取再次填充req.body。 我正在向/xyz/:object/feedback发送POST请求。

这里是我的代码:

app.post('/xyz/:object/feedback', function(req, res)
{
    console.log('Feedback received.');

    console.log('Body: ', req.body); // is not available :(

    res.set('Content-Type', 'text/plain; charset=utf8');
    res.send(result ? JSON.stringify(req.body) : err);
});

我已经尝试使用body-parser了,但是"反馈收到了。"从未登录到我的控制台。所以似乎有些东西被困在这里:

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

如何填充req.body(我需要一些正常工作的代码)

2 个答案:

答案 0 :(得分:4)

问题是您将整个模块传递给use方法而不是所需的实例。

而不是:

app.use(bodyParser);

DO

app.use(bodyParser());

答案 1 :(得分:0)

您需要app.use(bodyParser())

bodyParser()将返回一个包含使用内容的函数。 bodyParser本身就是Express的无效功能。