node.js取参四种方法req.body,req.params,req.param,req.body

参考:https://my.oschina.net/u/2519530/blog/535309

获取请求很中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实现。

1,req.body

2,req.query

3,req.params

4,req.param()

首先介绍第一个req.body

官方文档解释:
Contains key-value pairs of data submitted in the request body. By default, it is undefined,and is populated when you use body-parsing middleware such as body-parser and multer.稍微翻译一下:包含了提交数据的键值对在请求的body中,默认是underfined,
你可以用body-parser或者multer来解析body

解析body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用req.body;

此方法通常用来解析POST请求中的数据

第二种是req.query

官方文档解释:
An object containing a property for each query string parameter in the route.
If there is no query string, it is the empty object, {}.
翻译一下:包含在路由中每个查询字符串参数属性的对象。如果没有,默认为{}

有nodejs默认提供,无需载入中间件

举例说明(官方摘录)

// GET /search?q=tobi+ferret
req.query.q
// => "tobi ferret"// GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
req.query.order
// => "desc"
req.query.shoe.color
// => "blue"
req.query.shoe.type
// => "converse"

注意:此方法多适用于GET请求,解析GET里的参数

第三种是 req.params

官方文档:
An object containing properties mapped to the named route “parameters”.
For example, if you have the route /user/:name,
then the “name” property is available as req.params.name. This object defaults to {}.翻译:包含映射到指定的路线“参数”属性的对象。
例如,如果你有route/user/:name,那么“name”属性可作为req.params.name。
该对象默认为{}。

nodejs默认提供,无需载入其他中间件

举例说明

// GET /user/tj
req.params.name
// => "tj"

多适用于restful风格url中的参数的解析

eq.query与req.params的区别
req.params包含路由参数(在URL的路径部分),而req.query包含URL的查询参数(在URL的?后的参数)。

最后一种req.param()

已经被官方弃用,用前三种方法替代

官方链接:http://www.expressjs.com.cn/4x/api.html#req.param

node.js取参四种方法req.body,req.params,req.param,req.body相关推荐

  1. vue路由传参和取参,四种方法,包会

    路由传参两种形式 后续会继续跟新.耐心等待 传参后续会继续更新 路由取参有几种方式? 你猜 在这里$route:获取路由 获取?号传参的参数(对象) this.$route.params 获取路径传参 ...

  2. 判断JS数据类型的四种方法

    在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined.N ...

  3. js冒泡排序的四种方法

    更新个基础知识比较简单 仅供参考 //参考排序的数组var arr = [3, 2, 5, 1, 4] 第一种 这种方法冒泡排序 比较相邻的两个元素,如果前一个比后一个大,则交换位置. 第一轮把最大的 ...

  4. JS函数调用的四种方法

    js的函数调用会免费奉送两个而外的参数就是 this 和 arguments .arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度. 书上有说4中调用方式: 方 ...

  5. js 调用c语言函数看,JS函数调用的四种方法

    js的函数调用会免费奉送两个而外的参数就是 this 和 arguments .arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度. 书上有说4中调用方式: 方 ...

  6. js创建对象的四种方法

    1.利用new Object()创建对象 2. 字面量创建对象 3.工厂模式创建对象 4. 利用构造函数创建对象 <script>//利用new Object()创建对象var obj1 ...

  7. c语言中字符串去掉逗号,JS四种方法去除字符串最后的逗号

    window.οnlοad=function() { var obj = {name: "xxx", age: 30, sex: "female"};//定义一 ...

  8. Node.js-提供了四种形式的定时器

    1 Node.js提供了四种形式的定时器 2 global.setTimeout(); //一次性定时器 3 global.setInterval(); //周期性定时器 4 global.nextT ...

  9. NodeJs取参的四种方法

    NodeJs 取参的四种方法 参考:https://my.oschina.net/u/2519530/blog/535309

最新文章

  1. attempt to create delete event with null entity
  2. 实战SQL Server 2005镜像配置全过程
  3. oracle查询表字段和备注,Oracle 查询表信息(字段+备注)
  4. 独立站现在好不好做?个人适合做跨境电商独立站吗?
  5. 上拉电阻与下拉电阻介绍
  6. 从入门到放弃之promise用法(上)
  7. cactiez v11使用配置mysql_安装cactiez v11对windows和linux系统进行监控
  8. 加权平均成本计算公式
  9. SolidWorks-旋转凸台的使用
  10. 天网系统服务器码,天网管理系统
  11. Unity中自制Animation+播放完毕相应事件
  12. 牛客月赛1-(青蛙旅行)-(卡特兰数)
  13. Maven的下载与配置 和在IDEA中创建Maven的项目
  14. Android6.0通讯录权限问题
  15. 从新手到架构师,一篇就够:从100到1000万高并发的架构演进之路
  16. 服务器打死了怎么修复,yum把自己搞死了 然后又把服务器弄死了(yum命令卡死的解决办法)...
  17. IAP 与 STC 的区别
  18. C++超级玛丽游戏 题目
  19. 一站式查询八字、五行、星座、五格——美名腾人名解析
  20. Dynamic Web TWAIN资讯:Web应用程序的扫描仪SDK

热门文章

  1. 【Machine Learning】20.应用机器学习的一些建议
  2. 【官方标准】- 交通运输领域元数据标准规范
  3. amd显卡在Linux上安装,AMD上最新的ATI显卡驱动在Ubuntu 8.04上安装成功
  4. 实验二利用MATLAB工具箱对混杂噪声的音频信号进行滤波
  5. 横幅广告特效实现源码附带部分注释
  6. 圆桌对话|数字孪生圆桌会议精彩回顾:跨越挑战,迎接机遇
  7. 常见的麦克风供电方式总结
  8. python socket通信 心跳_Python Socket 多客户端心跳监测 | kTWO-个人博客
  9. 程序设计语言(软考)
  10. php积极心理学交流学习网站 毕业设计源码100623