node.js获取参数的常用方法(总结)

yipeiwu_com6年前Python基础

1、req.body

2、req.query

3、req.params

一、req.body例子

body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用req.body,这个方法通常用来解析POST请求中的数据

<form action='/test' method='post'> 
  <input type='text' name='name' value='lmw'> 
  <input type='text' name='tel' value='1234567'> 
  <input type='submit' value='Submit'> 
</form>
app.post('/test', function(req, res) {
  console.log(req.body.name);
  console.log(req.body.tel);
});

 二、req.query例子

有nodejs默认提供,无需载入中间件,这个方法通常用来解析get请求中的数据

GET /test?name=lmw&tel=123456789

app.get('/test', function(req, res) {
  console.log(req.query.name);
  console.log(req.query.tel);
});

三、req.query和req.body同时使有

<form action='/test?id=1' method='post'> 
  <input type='text' name='name' value='lmw'> 
  <input type='text' name='tel' value='123456789'> 
  <input type='submit' value='Submit'> 
</form>
app.post('/test', function(req, res) {
  console.log(req.query.id);
  console.log(req.body.name);
  console.log(req.body.tel);
});

四、req.params

另一种方法传递参数给服务器,但是这不算是传统标准规范的做法,是属于 HTTP Routing 的延伸应用

GET /test/lmw/123456789

app.get('/test/:name/:tel', function(req, res) {
  console.log(req.params.name);
  console.log(req.params.tel);
});

总结:

req.query: 解析后的 url 中的 querystring,如 ?name=haha,req.query 的值为 {name: 'haha'}

req.params: 解析 url 中的占位符,如 /:name,访问 /haha,req.params 的值为 {name: 'haha'}

req.body: 解析后请求体,需使用相关的模块,如 body-parser,请求体为 {"name": "haha"},则 req.body 为 {name: 'haha'}

以上这篇node.js获取参数的常用方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pytorch 实现打印模型的参数值

pytorch 实现打印模型的参数值

对于简单的网络 例如全连接层Linear 可以使用以下方法打印linear层: fc = nn.Linear(3, 5) params = list(fc.named_paramet...

Flask使用Pyecharts在单个页面展示多个图表的方法

Flask使用Pyecharts在单个页面展示多个图表的方法

在Flask页面展示echarts,主要有两种方法: 方法1、原生echarts方法 自己在前端引入echarts.js文件、自己创建div、自己初始化echarts对象、自己从官网复制...

使用IPython下的Net-SNMP来管理类UNIX系统的教程

引言 对于简单网络管理协议 (SNMP),大多数系统管理员都具有一定的使用经验,或者至少听说过它。如果您正在一个数据中心工作,那么您每天都可能采用某种方式与 SNMP 进行交互。有许多给...

python基础教程之循环介绍

循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。 for循环 for循环需要预先设定好循环的次数(n),然后执行隶...

python 直接赋值和copy的区别详解

直接赋值和copy的区别: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模...