最近学习node时,各种参数和前面的axios的参数概念有点混淆了,今天来梳理一下。
1.body请求体参数
通过req.body获取
例子:
<form action="/login" method="POST">
用户名:<input type="text" name="user" required>
<br>
密 码<input type="password" name="password" required>
<br>
<input class="submit" type="submit" value="登录">
</form>
app.post('/login', (req, res) => {
console.log(req.body)
})
想要在路由中拿到请求中body里的参数就需要,配置中间件:
app.use(express.urlencoded({ extended: true}),然后通过req.body获取
这里的extended就是询问是否解析嵌套的数据。
2.query查询参数
通过req.query获取
例子:
配置路由
app.get('/waku', (req, res) => {
console.log(req.query)
})
在Apifox中发起一个get请求且携带query参数,路由中则使用req.query获取
3.动态路由参数
通过req.params获取
例子:
配置路由
app.get('/anine/:id', (req, res) => {
console.log(req.params)
})
在Apifox中发起一次get请求,后面跟上配置路由上的参数。
路径参数也可以配很多,如app.get('anine/:id/:name',(req, res)=>{}),但是不建议这样做
还有一种情况是:
可以在后端一起获取里面的参数。