目前我的路线是这样的:
app.get('/post/:id?/:edit?/:add?') // ... func and something else
当我向url '/post/'
发送查询时,如果没有参数,则会检索所有帖子。
在'/post/5'
上,其中5是post的id,它在db中检索id为5的帖子。
在'/post/5/edit'
上,打开包含表单的页面,用于编辑当前帖子。
一切都很好。但是,当我尝试打开'post/add/
时,它无效。因为req.params
在控制台中显示:id: 'add', edit: undefined, add: undefined
。
如何解决?
答案 0 :(得分:0)
req.params基本上是一个数组,所以在你的情况下,第一个参数req.params [0]将永远是req.params.id,无论你提供什么价值,你的程序都会认为你正试图检索ID为“add”的帖子。
您可能希望将“发布/添加”设置为单独的路线,这样会更容易。