20

I'm doing a tutorials on node.js, and the lesson is teaching me how to create a server using node. In the code below, what does the connect.bodyParser() line do?

var app = connect()
    .use(connect.bodyParser())
    .use(connect.static('public'))
    .use(function (req, res) {
        if (req.url === '/process') {
            res.end(req.body.name + ' would repeat ' + req.body.repeat + ' times.');
        } else {
            res.end("Invalid Request");
        }
    })
    .listen(3000);
4

1 回答 1

15

它填充req.body(除其他外)POST参数的值。这是文档和示例:http ://expressjs.com/api.html#req.body

bodyParser 是“Connect”的一部分,这是一组 node.js 的中间件。这是来自 Connect 的真实文档和来源:http ://www.senchalabs.org/connect/bodyParser.html

如您所见,它只是一个尝试解码 JSON 的瘦包装器,如果失败则尝试确定 URLEncoded,如果失败则尝试解码 Multi-Part。

于 2013-08-11T12:39:28.473 回答