这几天打开以前写的node服务代码,发现里面有两句
app.use(bodyParser.json({limit: '50mb'})); //添加json解析 app.use(bodyParser.urlencoded({limit: '10mb', extended: true }));
当时使用express生成的express项目,就直接使用了,没注意,这次打开,觉得这里不是太懂,就往清楚搞一下。
其实bodyparser是express框架默认使用的中间件之一,常用来解析http请求体。
在使用express生成一个网站时,默认已经使用了bodyParser.json与bodyParser.urlencoded的解析功能,除了这两个,bodyParser还支持对text、raw的解析,如下所示:
app.use(bodyParser.json()); //添加json解析 app.use(bodyParser.urlencoded({extended: true }));
bodyParser.json是用来解析json数据格式的。bodyParser.urlencoded则用来解析我们通常的form表单提交的数据,也就是请求头中包含这样的信息:
Content-Type: application/x-www-form-urlencoded
常见的四种Content-Type类型: