[英]Node, Express, 404 error / cannot get route
我正在構建一個 Express 應用程序,但在路由方面遇到了一些問題。 除了一條路線,我的所有路線都運行良好。
我有一個有效的路線/管理/產品:
const router = express.Router();
router.get("/admin/products", (req, res) => {
res.send(productsIndexTemplate({ products }));
});
另一個也有效的 route/admin/products/new :
router.get("/admin/products/new", requireAuth, (req, res) => {
res.send(productsNewTemplate({}))
});
但這條路線不起作用:
router.get('/admin/products/:id/edit'), async (req, res) => {
const product = await productsRepo.getOne(req.params.id);
res.send(productsEditTemplate( {product} ));
};
我得到了正確的 URL(這意味着我在 url 中得到了正確的 ID,因此 req.params.id 不是未定義的或 null,但我收到以下消息:
Cannot GET /admin/products/08a4dc4f/edit
我不認為問題出在我的代碼上,因為除了最后一條之外,其他路線都在工作。
您在路線中添加了一個括號(右括號)。
router.get('/admin/products/:id/edit'), async (req, res) => { //<---- Your error is in this line. After edit you added closing bracket.
const product = await productsRepo.getOne(req.params.id);
res.send(productsEditTemplate( {product} ));
};
替換為以下代碼。
router.get('/admin/products/:id/edit', async (req, res) => {
const product = await productsRepo.getOne(req.params.id);
res.send(productsEditTemplate( {product} ));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.