Express中request对象参数获取
前言
在表单类的操作中,客户端的HTTP请求通常会通过GET或POST提交一些数据到服务端,所以需要在服务端识别这些数据并进行处理。常利用request对象的三个方法来进行操作。
req.params
获取请求路径。
- 例1
浏览器访问:localhost:3000/login 服务端侦听:app.use('/:key',function(req,res){}); 则:req.params.key为login。
- 例2
浏览器访问:localhost:3000/user/tom 服务端侦听:app.use('/user/:name',function(req,res){}); 则:req.params.name为tom。
req.query
获取GET请求的参数(即地址栏传递的参数)。
- 例
浏览器访问:http://localhost:3000/login?username=Tom&&password=123 服务端侦听:app.use('/:key',function(req,res){}); 则:req.query.usename和req.query.password分别为Jack和123。
req.body
获取POST请求的参数。
- 例
浏览器访问:http://localhost:3000/login,通过表单POST参数username=Tom && password=123 服务端侦听:app.use('/:key',function(req,res){}); 则:req.body.usename和req.body.password分别为Tom和123。
注意点
- req.params和req.query的主要区别:
req.params包含路由参数(在URL的路径部分),而req.query包含URL的查询参数(在URL的?后的参数)。 - req.param()方法已经被弃用。