Как отправить запрос на публикацию, чтобы пользователь нажал на 1 из кнопок, и сообщить серверу, какую из них

#html #node.js

Вопрос:

Задача заключается в следующем. Пользователь (Администратор) проверяет правильность записей, а затем нажимает кнопку «Принять» или «отклонить». Таких записей несколько (3, но я не думаю, что это имеет значение), у каждой записи есть 2 такие кнопки. Я пытался сделать что-то вроде

 lt;form action="/admin" method="POST"gt;  lt;input type="button" name="button" value="accept" class="admin-buttons"gt; lt;/formgt; lt;form action="/admin" method="POST"gt;  lt;input type="button" name="button" value="decline" class="admin-buttons"gt; lt;/formgt;  

а затем на сервере

 app.post('/admin', checkAuthenticated, (req, res) =gt; { if (req.body.button.value == 'accept'){} // changes on db }  

Но это не сработало, так что я здесь.

Ответ №1:

Обнаружена ошибка, код ниже должен работать

 app.post('/admin', checkAuthenticated, (req, res) =gt; { if (req.body.button == 'accept'){} // changes on db }  

req.body.button.value даст вам неопределенное значение, так как его кнопка принятия будет объектом

В следующий раз console.log(req.body) для лучшей отладки

И для ваших бланков

 lt;form action="/admin" method="POST"gt; lt;input type="text" name="button" value="accept" class="admin-buttons" hidden=""gt;  lt;input type="submit" name="button" value="accept" class="admin-buttons"gt; lt;/formgt; lt;form action="/admin" method="POST"gt; lt;input type="text" name="button" value="decline" class="admin-buttons" hidden=""gt;  lt;input type="submit" name="button" value="decline" class="admin-buttons"gt; lt;/formgt;  

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

1. Я даже не могу получить запрос на публикацию из этой формы 🙁

2. @n33t Я обновил решение, это должно сработать __ не забудьте нажать кнопку ответа, если это решит ваши проблемы

3. много чего :):):):)