var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// Create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(express.static('public'));
app.get('/index.htm', function (req, res) {
res.sendFile( __dirname + "/" + "index.htm" );
})
app.post('/process_post', urlencodedParser, function (req, res) {
// Prepare output in JSON format
response = {
first_name:req.body.first_name,
last_name:req.body.last_name
};
console.log(response);
res.end(JSON.stringify(response));
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.post('/process_post', urlencodedParser, function (req, res)
任何人都可以解释上面三行代码的用途以及正文解析器的用途吗?
答案 0 :(得分:2)
bodyParser将使用请求中的已解析正文填充req.body属性。使用1号线,您只需通过要求即可在课堂上使用。
返回仅解析urlencoded主体的中间件。此解析器仅接受正文的UTF-8编码,并支持gzip和deflate编码的自动膨胀。扩展选项允许选择使用查询字符串库(假设时)或qs库(当为真时)解析URL编码数据。 "扩展"语法允许将富对象和数组编码为URL编码格式,从而允许使用URL编码的类似JSON的体验。
使用最后一行,您只是说您已定义的此路线将使用您已定义的bodyparser
我从https://github.com/expressjs/body-parser复制的大部分内容。所以可以看一下这个链接
答案 1 :(得分:1)
POST
路由处理程序,它接受一些参数并相应地工作。现在您从前端应用程序或移动应用程序发出请求。您将一些参数传递给此请求。现在Parser所做的是它从请求中提取参数,解析它并使其可用req.body并且您可以按其特定名称访问参数UTF-8
编码的主体。它有助于解析URL编码数据,如JSON
个对象urlEncodedParser
答案 2 :(得分:1)
您可以简单地使用
const express = require('express')
const app = express();
app.use(express.urlencoded({extended: false}))
app.listen(//your port)
//就这样