1、req.body
2、req.query
3、req.params
一、req.body例子
body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用req.body,这个方法通常用来解析POST请求中的数据
1
2
3
4
5
6
7
8
9
|
< 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请求中的数据
1
2
3
4
5
6
|
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同时使有
1
2
3
4
5
6
7
8
9
10
|
<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 的延伸应用
1
2
3
4
5
6
|
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获取参数的常用方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。