使用表单时,访问 Express 中的 POST 表单字段可能是一个简单的过程。然而,Express 版本中的细微变化在方法上引入了一些变化。
从 Express 4.16.0 开始,通过引入简化了访问 POST 表单字段express.json() 和express.urlencoded。这些中间件函数分别解析 JSON 和 URL 编码的主体。
要使用此方法,请安装express:
$ npm install express
并在 Express 应用程序中包含以下中间件:
app.use(express.json()); // to support JSON-encoded bodies app.use(express.urlencoded()); // to support URL-encoded bodies
这些中间件到位后,您可以使用 req.body 访问 POST 表单字段object:
// assuming POST: name=foo&color=red <-- URL encoding // // or POST: {"name":"foo","color":"red"} <-- JSON encoding app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
在 Express 4.16.0 之前,处理 POST 表单字段涉及安装 body-parser 包并使用其中间件。
$ npm install --save body-parser
在您的 Express 申请中,包含以下内容lines:
var bodyParser = require('body-parser') app.use( bodyParser.json() ); // to support JSON-encoded bodies app.use(bodyParser.urlencoded({ // to support URL-encoded bodies extended: true }));
使用此配置,访问 POST 表单字段类似于 Express 4.16.0 中的方法:
app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
注意:express.bodyParser() 的使用是不推荐,相当于express.json()、express.urlencoded()、express.multipart()的组合使用。除非您特别需要多部分编码支持,否则请避免使用express.bodyParser(),这会带来安全问题。对于多部分编码,请参阅 Express 文档。
以上是如何访问 Express.js 中的 POST 表单字段?的详细内容。更多信息请关注PHP中文网其他相关文章!