node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据
- 安装 body-parser模块
- npm install body-parser -S
- 调用
- let bodyParser=require('body-parser');
- 设置中间件
- app.use(bodyParser.urlencoded({extended:true}));
- 判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象
- app.use(bodyParser.json());
-上面两个只会有一个生效
- 获取post请求传递过来的参数值
- let user = req.body;
/* * end 只能接收字符串和buffer * 但是我们希望很方便传入任意类型 * express提供了send方法,可以接收各种类型数据 * *中间件模块返回的都是函数,执行这个函数返回的才是中间件 * * */ let express =require('express'); let bodyParser=require('body-parser'); let app=express(); //此中中间件的作用是获得请求体字符串,然后转成对象赋值给req.body app.use(bodyParser.urlencoded({extended:true})); //判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象 app.use(bodyParser.json()); //上面两个只会有一个生效 let users=[]; app.get('/users',function (req,res) { res.send(users) }); // 我们用post时候,给发送一个用户 // curl -X POST --data '{"name":"wang"}' http://localhost:8080/users app.post('/users',function (req,res) { let user = req.body; user.id=Date.now(); users.push(user); res.send(users) }) app.listen(8080);