router.post не удается опубликовать

#javascript #html #web

#javascript #HTML #веб

Вопрос:

     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», когда я нажимаю на кнопку «Создать». Я действительно понятия не имею, что может быть причиной этого, кто-нибудь знает? Насколько я могу судить, сообщение должно быть в порядке

Ответ №1:

Это похоже на проект NodeJS с express и EJS.

Можете ли вы показать нам app.js ?

Если ваш код действительно выглядит так, вы не можете вызвать маршрут внутри .ejs/.html . Это сочетание клиентской и серверной сторон.

Можете ли вы показать нам структуру вашего кода?

Я бы рекомендовал прочитать это:https://expressjs.com/en/guide/routing.html

Комментарии:

1. что вы имеете в виду app.js ?

2. Как выглядит ваш проект? Это проект NodeJS?

3. Да, дело в том, что у меня есть другие функции post, которые работают, только эта не будет работать

4. Можете ли вы показать нам ошибку, которую вы получаете? А у вас сервер? Это поможет!