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设计】。

相关文章

Python打造出适合自己的定制化Eclipse IDE

Python打造出适合自己的定制化Eclipse IDE

Eclipse是一套强大的框架,其能够通过内置插件机制实现多种扩展方式。然而要想添加一小点额外功能,大家都不可避免地需要面临新插件的编写与部署工作,这显然有点令人头痛。现在在EASE的帮...

Python Web框架Flask中使用百度云存储BCS实例

对于部署在百度应用引擎BAE上的项目,使用百度云存储BCS(Baidu Cloud Storage)是不错的存储方案。 百度云存储已有Python SDK,对它进行简单封装后,就可以直接...

python中plot实现即时数据动态显示方法

python中plot实现即时数据动态显示方法

在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法。考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网...

pymssql数据库操作MSSQL2005实例分析

本文实例讲述了pymssql数据库操作MSSQL2005的方法。分享给大家供大家参考。具体如下: 使用的MSSQL2005,通过pymssql来连接的。把可能用到的数据库操作方式都总结如...

python进阶_浅谈面向对象进阶

学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。 一、isinstance和issubclass class Foo: pass...