簡體   English   中英

如何在Express中使用可選參數進行路由?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM