如何在nodejs获取请求中访问axios参数
Posted
技术标签:
【中文标题】如何在nodejs获取请求中访问axios参数【英文标题】:How to acess axios params in nodejs get request 【发布时间】:2021-02-26 17:28:20 【问题描述】:我正在使用 axios 向 API 发送 get 请求,但无法访问该请求中传递的参数。
这是我的代码: API 请求
axios.get('http://localhost:4000/students',
params:
category:"indoor"
)
请求处理
router.route('/').get((req, res) =>
console.log(req.params.category);
studentSchema.find(category:req.params.category,(error, data) =>
if (error)
return next(error)
else
res.json(data)
)
)
在没有给定参数的情况下,路由工作正常。
console.log(req.params.category);输出未定义。
希望你有问题...
【问题讨论】:
路线呢?不应该是“/students”而不是“/”吗? @Wasbeer 路由工作正常。我已经在 server.js 文件中包含了 ''/students" 路由 你能分享你的代码吗? .zip 或 Github 存储库。 这能回答你的问题吗? Node.js/Express routing with get params 请阅读 ExpressJS 参数:expressjs.com/en/5x/api.html#req.params 正文:expressjs.com/en/5x/api.html#req.body Mongoose 查询:mongoosejs.com/docs/queries.html Axios 参数:***.com/questions/53501185/… 【参考方案1】:Axios 中的params
是成为querystring 的URL 参数。
Express 的请求对象中的params
是路由参数。例如:当我定义一个 URL 如/students/:id
时,req.params
for GET /students/value
将是id: "value"
。
您在 Express 处理程序中寻找的是 req.query
[docs]。
【讨论】:
【参考方案2】:我相信你所做的与 Axios 无关,
要获取查询参数,在您的代码的服务器端,您需要使用请求的属性query
,如下所示:
let category = req.query["category"];
【讨论】:
以上是关于如何在nodejs获取请求中访问axios参数的主要内容,如果未能解决你的问题,请参考以下文章
php文件如何接受vue前端axios传过来的参数实现登录验证?