Отправка формы методом GET в Express

Сейчас мы научимся получать на сервере данные отправленной формы. Пусть у нас есть следующая форма:

form.hbs<form action="/target/" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

Давайте отдадим эту форму при обращении к главной странице сайта:

index.jsapp.get('/', function(req, res) {
  res.render('form');
});

Наша форма будет отправляться на адрес, написанный в атрибуте action. Давайте напишем обработчик этого адреса:

index.jsapp.get('/target/', function(req, res) {
  res.send('result');
});

Отправленная форма попадет на этот обработчик, при этом данные формы будут содержаться в req.query в виде объекта. В этом объекте ключами будут значения атрибутов name инпутов из формы, а значениями - введенные данные.

Пусть, к примеру, в первый инпут мы ввели число 1, а во второй - число 2. Toгда объект с данными будет выглядеть следующим образом:

index.jsapp.get('/target/', function(req, res) {
  console.log(req.query); // выведет {test1: '1', test2: '2'}
  res.send('result');
});

Можно вывести каждое значение по отдельности:

index.jsapp.get('/target/', function(req, res) {
  console.log(req.query.test1);
  console.log(req.query.test2);
  
  res.send('result');
});

Можно что-то сделать с введенными данными и отправить результат обратно. Найдем, к примеру, сумму введенных чисел:

index.jsapp.get('/target/', function(req, res) {
  let num1 = +req.query.test1;
  let num2 = +req.query.test2;
  let sum  = num1 + num2;
  
  res.send('result: ' + sum);
});
Задание 1

Сделайте форму с тремя инпутами. После отправки формы отправьте в браузер сумму введенных в инпуты чисел.