【发布时间】:2018-07-14 01:56:04
【问题描述】:
我正在学习 Axios、Mongoose 和 Express 并遇到以下问题。我正在研究一种模式,该模式需要在我需要时访问 2 个不同的获取请求。问题是,当我在参加时呼叫路线时,它仍然会执行带有信息的路线。如何正确定位后端的参加路线?
前端 //使用 findOne 查找用户信息
axios.get("/api/user/" + info); //info is a variable
//查找用户信息
axios.get("/api/user" + attending); //attending is a variable
后端的路由文件
router
.route("/:info")
.get(UserController.findOne);
router
.route("/:attending")
.get(UserController.findOneAndUpdate);
我也尝试过像下面这样更改路线,但它仍然到达信息路线而不是参加路线。
前端
axios.get("/api/wmUser/getAttending" + eventCode);
后端路由
router
.route("/:info")
.get(UserController.findOne);
router
.route("/getAttending/:attending")
.get(UserController.findOneAndUpdate);
【问题讨论】:
-
您的两条路线都相同...只有您的参数正在更改,这就是为什么它调用唯一的
info路线...实际上它会调用代码中首先编写的路线如果你把attending路由放在第一位,它会先放……你需要改变路线以使它们不同。 -
所以我尝试在后端添加 .route("/getAttending/:attending") 和 axios.get("/api/wmUser/getAttending" + eventCode);把这个移到另一个前面,还是不行
-
您忘记在 getAttending 和 eventCode 之间使用
/....试试这个axios.get("/api/wmUser/getAttending/" + eventCode) -
这就是答案!!谢谢它的工作..超级令人兴奋:-)
标签: node.js express mongoose axios