[英]How routing works in Express with optional parameters?
目前我的路由是這樣的:
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
。 怎么解決?
req.params基本上是一個數組,所以在你的情況下,第一個參數req.params [0]將永遠是req.params.id,無論你提供什么值,你的程序都會認為你正試圖檢索一個帖子id為'add'。
你可能想要“發布/添加”一個單獨的路線,它會更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.