Обновление данных, полученных через форму в Express с использованием Postgres и HTML

#javascript #postgresql #express

#javascript #postgresql #экспресс

Вопрос:

Я пытаюсь обновить данные в своей таблице в Node. Я пытаюсь использовать router.put для обновления строки категории моей таблицы.

Я знаю, как обновлять материал, router.post но он должен обновлять всю страницу. Я хочу использовать router.put для немедленного обновления данных.

Экспресс-код JS:

 router.put('/restaurants',function (req,res,next){
    pool.connect(function(err,client){
        if(err){
            console.info("Error");
        } else{
            client.query('UPDATE restaurant SET category = $1 WHERE name = $2;',[req.body.category,req.body.restaurant],function(err,result){
                if(!err){
                    res.send("Successful");
                }
            });
        }
    });
});
 

HTML-форма:

 <form method="post">
    <div>
        <label for="category">Choose restaurant:</label>
        <select name="restaurant">
            <%for(let i=0;i<query.length;  i){%>
                <option><%=query[i].name%></option>
            <%}%>
        </select>
        <label for="category">Change category:</label>
        <input type="text" name="category">
        <button type="submit">Submit</button>
    </div>
</form>
 

Что мне нужно добавить, чтобы после запроса он автоматически обновлял данные на странице? На данный момент я получаю ОШИБКУ 404 с текущим кодом.

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

1. Вам нужно изменить метод формы на PUT , что заставило бы его обновляться снова, но он просто более семантически корректен, он все равно перезагрузит страницу. Если вы ищете отправку данных без обновления страницы, вам необходимо обрабатывать асинхронную отправку данных в javascript с помощью выборки

2. @HaythemFarhat После того, как я добавил это, единственное, что он не выдает мне ошибку 404 и добавляет материал в url -> ?restoran=U2 Pizzerijaamp;kategorija=Test Ничего не обновляется. Я уверен, что мне нужно использовать POST, чтобы обновить его с помощью router.get