簡體   English   中英

檢索 URL 參數

[英]Retrieve URL Parameters

我正在創建一個應用程序,其中每個列表都有多個任務。

用於創建新任務的 URL 類似於/lists/:listId/tasks

在我的app.js中,我這樣做是為了將 URL 重定向到名為tasks.js的特定路由文件:

app.use('/lists/:listId/tasks', tasks);

然后在我的tasks.js中,我正在執行以下操作:

router.post('/', (req, res) => {
  console.log(req.params.listId) //This doesn't work.
});

如何從tasks.js獲取參數? 另外,如果有更好的方法來實現我想要的,我會很高興看到它。

您可以點擊此鏈接https://github.com/expressjs/express/issues/696

如果你把你的 params 路由放到tasks.js文件中,那么問題就會自動解決。 喜歡:

app.js

app.use('/lists', tasks);

tasks.js

router.post('/:listId/tasks', (req, res) => {
  console.log(req.params.listId);
});

它會正常工作。

我為這種情況采用的解決方法如下:

app.use('/lists/:listId/tasks', (req, res, next) => {
    res.local.params = req.params;  //in res.local you can store whatever you want
    next();
}, tasks);

然后您可以從tasks.js路由訪問 res.local。

我認為這應該有效

app.get('/lists/:listId/tasks', (req, res) => {
  console.log(req.params.listId);
})

重定向! 嘗試這個

app.get('/lists/:listId/tasks', (req, res) => {
  console.log(req.params.listId);
  //if you have a route set up already 
  res.redirect('/task');
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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