router.post无法发帖

问题描述 投票:-2回答:1
    router.get("/createOrder/:id", async (req, res) => {
    let id = req.params.id;
    let data = {
        title: `Skapa order för kund id ${id}`,
        KId: id
    };
    data.res = await eshop.createOrder(id);
    res.render("eshop/createOrder", data);
});

router.post("/eshop/createOrder/:id", urlencodedParser, async (req, res) => {
    let id = req.params.id;
    console.log(id);
    await eshop.addProductToOrder(req.body.produktid, req.body.antal, id);
    res.redirect("/eshop/product");
});

    <%- include("header", {title: title}); %>

<h1>Create order</h1>


<pre><%#= JSON.stringify(res, null, 4) %></pre>

<form class="label-left" method="post" action="/eshop/createOrder/1">
    <fieldset>
        <legend>Create order</legend>

    <label for="produktid">Produktid</label>
    <input id="produktid" type="text" name="produktid">

    <label for="antal">Antal</label>
    <input id="antal" type="number" name="antal">

    <input type="submit" name="doit" value="Create">
</fieldset>
</form>

<%- include("footer"); %>

好的,所以基本上是因为我点击“创建”按钮后得到“不能POST / eshop / createOrder / 1”。我真的不知道造成这种情况的原因,有人知道吗?据我所知,POST应该没问题

javascript html web
1个回答
0
投票

它看起来像带有express和EJS的nodeJS项目。

你能告诉我们app.js吗?

如果您的代码看起来真的如此,则无法在.ejs / .html中调用该路由。它是客户端和服务器端之间的混合体。

你能告诉我们你的代码结构吗?

我建议读这个:https://expressjs.com/en/guide/routing.html

© www.soinside.com 2019 - 2024. All rights reserved.