Сейчас мы научимся получать на сервере данные отправленной формы. Пусть у нас есть следующая форма:
<form action="/target/" method="GET">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
Давайте отдадим эту форму при обращении к главной странице сайта:
app.get('/', function(req, res) {
res.render('form');
});
Наша форма будет отправляться на адрес, написанный
в атрибуте action
. Давайте напишем
обработчик этого адреса:
app.get('/target/', function(req, res) {
res.send('result');
});
Отправленная форма попадет на этот обработчик,
при этом данные формы будут содержаться в
req.query
в виде объекта. В этом объекте
ключами будут значения атрибутов name
инпутов из формы, а значениями - введенные данные.
Пусть, к примеру, в первый инпут мы ввели
число 1
, а во второй - число 2
.
Тогда объект с данными будет выглядеть следующим
образом:
app.get('/target/', function(req, res) {
console.log(req.query); // выведет {test1: '1', test2: '2'}
res.send('result');
});
Можно вывести каждое значение по отдельности:
app.get('/target/', function(req, res) {
console.log(req.query.test1);
console.log(req.query.test2);
res.send('result');
});
Можно что-то сделать с введенными данными и отправить результат обратно. Найдем, к примеру, сумму введенных чисел:
app.get('/target/', function(req, res) {
let num1 = +req.query.test1;
let num2 = +req.query.test2;
let sum = num1 + num2;
res.send('result: ' + sum);
});
Сделайте форму с тремя инпутами. После отправки формы отправьте в браузер сумму введенных в инпуты чисел.