这个中间件可以用于express中解析post数据
在node.js中,其本身包装了'body-parser'中间件,我们可以先安装它,然后就直接引用:
const bodyparser = require('body-parser');
当然,我们还可以自己去写一个:
const querystring = require('querystring'); //引入模块--解析字符串
moduel.exports = function(){
return function(req,res,next){
var str = ''; //定义字符串,用于接收数据
req.on('data',function(data){
str += data; //字符串拼接,此时为传送过来的post数据
});
req.on('end',function(){
req.body = querystring.parse(str); //解析为json格式
next(); //进行下一个步骤
});
}
}
如何使用?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8080" method="post">
用户:<input type="text" name="user"><br/>
密码:<input type="password" name="pass"><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
const express = require('express'); //引入express模块
const bodyParser2 = require('./libs/mybodyparser.js'); //引入自己写的中间件
var server = express();
server.listen(8080); //监听
server.use(bodyParser2());
server.use('/',function(req,res){
console.log(req.body); //后台输出post数据
});