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动态赋值的陷阱知识点总结

忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串。相信不少同学会有同感。 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型。而拼接字符串是必备...

Python Flask前后端Ajax交互的方法示例

Python Flask前后端Ajax交互的方法示例

之前总结过flask里的基础知识,现在来总结下flask里的前后端数据交互的知识,这里用的是Ajax 一、 post方法 1、post方法的位置:在前端HTML里,绑定在一个按钮的点击...

python 动态调用函数实例解析

1. 根据字符串名称 动态调用 python文件内的方法eval("function_name")(参数) 2. 根据字符串 动态调用类中的静态方法,getattr(ClassName,...

小议Python中自定义函数的可变参数的使用及注意点

可变参数 Python的可变参数有两种,一种是列表类型,一种是字典类型。列表类型类似 C 中的可变参数,定义方式为 def test_list_param(*args) : fo...

pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率

pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率

我用的是Anaconda3 ,用spyder编写pytorch的代码,在Anaconda3中新建了一个pytorch的虚拟环境(虚拟环境的名字就叫pytorch)。 以下内容仅供参考哦~...