查看: 1497|回复: 0

[JavaScript/JQuery] node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据

发表于 2017-9-23 08:00:01
句号论坛

- 安装 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;

  1. /*
  2. * end 只能接收字符串和buffer
  3. * 但是我们希望很方便传入任意类型
  4. * express提供了send方法,可以接收各种类型数据
  5. *
  6. *中间件模块返回的都是函数,执行这个函数返回的才是中间件
  7. *
  8. * */
  9. let express =require('express');
  10. let bodyParser=require('body-parser');
  11. let app=express();
  12. //此中中间件的作用是获得请求体字符串,然后转成对象赋值给req.body
  13. app.use(bodyParser.urlencoded({extended:true}));
  14. //判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象
  15. app.use(bodyParser.json());
  16. //上面两个只会有一个生效
  17. let users=[];
  18. app.get('/users',function (req,res) {
  19. res.send(users)
  20. });
  21. // 我们用post时候,给发送一个用户
  22. // curl -X POST --data '{"name":"wang"}' http://localhost:8080/users
  23. app.post('/users',function (req,res) {
  24. let user = req.body;
  25. user.id=Date.now();
  26. users.push(user);
  27. res.send(users)
  28. })
  29. app.listen(8080);
复制代码



太阳http代理AD
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条