Отправка формы методом GET на текущую страницу в Express

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

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

Пусть наша форма и показывается, и отправляется на следующий обработчик:

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

Давайте выведем в консоль данные отправленной формы:

app.get('/', function(req, res) { console.log(req.query); res.render('form'); });

Наш обработчик выполнится два раза. Первый раз мы зайдем на страницу и увидим форму. В этом случае в консоль выведется пустой объект с данными формы. Во второй раз мы попадем на обработчик после отправки формы и увидим в консоли введенные данные.

Выводим результат около формы

Давайте для примера при первом заходе покажем форму, а при втором заходе форму, а под ней - сумму введенных чисел.

Сделаем обработчик:

app.get('/', function(req, res) { res.render('form', { sum: +req.query.test1 + +req.query.test2, }); });

Доработаем код файла с формой:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> {{#if sum}} {{ sum }} {{/if}}