router.post无法发布

时间:2019-03-16 10:43:31

标签: javascript html web

    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"); %>

所以基本上是出于某种原因,当我单击“创建”按钮时,我收到“无法发布/ eshop / createOrder / 1”。我真的不知道是什么原因造成的,有人知道吗?据我所知POST应该没问题

1 个答案:

答案 0 :(得分:0)

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

您可以向我们展示app.js吗?

如果您的代码确实如此,则无法在.ejs / .html中调用路由。是客户端和服务器端之间的混合。

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

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