连接中间件中的bodyParser()有什么作用?

时间:2013-08-11 12:08:23

标签: node.js node.js-connect

我正在做node.js的教程,课程教我如何使用node创建服务器。在下面的代码中,connect.bodyParser()行做了什么?

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);

1 个答案:

答案 0 :(得分:15)

它使用req.body参数的值(以及其他内容)填充POST。以下是文档和示例:http://expressjs.com/api.html#req.body

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

正如你所看到的,它只是一个薄的包装器,试图解码JSON,如果失败尝试决定URLEncoded,如果失败尝试解码多部分。