Получение и обработка данных от пользователя – важная составляющая интерактивных веб-приложений. В этом уроке мы научимся получать данные через формы и обрабатывать их с помощью Node.js и Express.js. Для работы с формами потребуется библиотека body-parser.
Установка Body-Parser
Для обработки данных из форм установите пакет body-parser, выполнив в терминале команду:
npm install body-parser
Эта библиотека упрощает получение и обработку данных из форм.
Подготовка формы
Пример формы (расположенной, например, в шапке сайта):
Для корректной работы добавьте атрибуты:
- method="post": указывает метод передачи данных на сервер (POST).
- action="/check-user": указывает URL-адрес обработчика данных (в примере — /check-user).
- Для поля ввода (<input>) укажите атрибут name="username" — имя поля для получения данных в обработчике.
- Для кнопки отправки (<button>) укажите атрибут type="submit" для отправки данных формы.
Пример формы:
<form method="post" action="/check-user">
<input type="text" name="username">
<button type="submit">Поиск</button>
</form>
Обработка данных в Node.js
В index.js создайте обработчик для URL /check-user. Так как используется метод POST, обрабатываем POST-запросы:
app.post('/check-user', (req, res) => {
console.log(req.body);
});
Этот код выводит в консоль содержимое объекта req.body с данными из формы. Для корректной работы body-parser, используйте его в middleware:
app.use(express.urlencoded({ extended: false }));
Это обеспечит корректную обработку данных из формы.
Проверка и перенаправление
Добавим логику проверки данных и перенаправления:
app.post('/check-user', (req, res) => {
let username = req.body.username;
if (username === "") {
res.redirect('/');
} else {
res.redirect(`/user/${username}`);
}
});
Код проверяет, пустое ли поле username. При пустом значении перенаправляет на главную страницу (/), иначе — на страницу /user/{username}, где {username} — значение, введенное пользователем.
Рассмотрен процесс получения и обработки данных из HTML-формы с помощью Node.js, Express.js и body-parser. Теперь можно создавать интерактивные веб-приложения, обрабатывающие данные пользователя и выполняющие перенаправления.