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