Вот случай - у меня есть приложение node.js + Express с использованием базы данных MySQL. Я читаю данные из таблицы (пример Employee). Я покажу необходимые данные в форме HTML. Таким образом, имя сотрудника, адрес электронной почты, телефон, адрес и т. Д.Node.js Express POST только изменяет входные данные на маршрутизатор
В форме пользователь может обновить все или выбранные поля и нажать «отправить», чтобы обновить запись.
На обновление Звоню маршрутизатор и прочитать форму входа, используя тело-анализатор:
<form role="form" action="/employee/update" method="post">
Name : <input type="text" name="ename"/>
Email : <input type="email" name="empEmail"/>
.
.
.
</form>
Теперь пользователь может либо изменить все входы или только один. Однако, когда я делаю обновление sql, я хочу только обновить поля, которые были изменены.
мое текущее решение
Что я могу сделать прямо сейчас, что у меня есть скрытый вход в форме, которая хранит имя любого входа, который был изменен пользователем. Таким образом, в моем публичном js-файле код jquery с заменой ввода считывает свойство «name» измененного ввода и создает строку с разделителями-запятыми, которая затем присваивает скрытому вводу значение.
Таким образом, если пользователь изменяет имя и адрес электронной почты, скрытый вход будет выглядеть следующим образом:
<input type="hidden" name="FormHiddenInput" value="ename,empEmail"/>
Таким образом, когда пользователь нажимает кнопку отправить, на мой маршрутизатор я просто:
var fieldName = req.body.FormHiddenInput;
Тогда Я разделил его и извлек имена отдельных полей, которые были изменены, и снова повторил команду req.body.
Этот процесс работает нормально, но мне это не нравится. Требуется слишком много кода, а циклы пройдут.
Есть ли другой способ получить имена входов/textarea/select и т. Д., Которые были фактически изменены в форме непосредственно в маршрутизаторе?
Итак, только что прочитал все тело и обновить набор – codeinprogress
Да, это правильно. – 0019
спасибо, я поеду и обновлю свой код. – codeinprogress