我正在使用nodejs(使用sailsjs),我遇到了路由问题,以下是这种情况:
'/user/?variable'
的路线。它链接到
控制器操作,显示配置文件,具体取决于变量
给定;如果找不到用户,则会返回 404错误。'/user/find'
。它与a相关联
控制器动作用于返回用户的AJAX请求
id给出传递给它的变量。但是,当我使用AJAX请求调用'/user/find/'
时,我收到 404错误;我想这是因为它仍然链接到“show profile”动作,并且动作找不到名为“find”的用户。
这种冲突在框架中是否常见?有办法解决这个问题吗?我已经尝试切换声明路由的顺序,但响应是一样的。我想如果用户注册用户名'find',它可能会引起冲突,在这种情况下,我该如何处理?或者我应该使用完全不同的路线?
我喜欢/user/find
,因为这个名字很简单。
谢谢。
答案 0 :(得分:1)
当您在app.js
或您提交订单的任何文件中声明路线时,
app.get("/user/find", function (request, response) {
//do something
});
app.get("/user/:variable", function (request, response) {
//do something
});
在上面的示例中,/user/find
优先于/user/:variable
,因为它是先声明的。如果你需要这样做我建议玩声明的顺序。如果你把它切换到以下它应该工作。
app.get("/user/:variable", function (request, response) {
//do something
});
app.get("/user/find", function (request, response) {
//do something
});