簡體   English   中英

Node, Express, 404 錯誤/無法獲取路由

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

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