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

Давайте теперь научимся отправлять формы методом POST. Для этого изменим тип отправки в атрибуте `method`:

`<form action="/target/" method="POST"> <input name="test1"> <input name="test2"> <input type="submit"> </form>`

Будем отдавать нашу форму при запросе главной страницы:

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

Сама форма в нашем случае будет отправляться на другой адрес. Давайте напишем обработчик этого адреса. При этом, так как наша форма отправляется методом POST, то нам нужно написать обработчик не `app.get`, а `app.post`:

`app.post('/target/', function(req, res) { res.send('result'); });`

Данные формы, отправленной методом POST, будут содержаться в теле запроса. То есть нам нужно прочитать `req.body`:

`app.post('/target/', function(req, res) { console.log(req.body); // так просто не будет работать res.send('result'); });`

Данные формы, однако, так просто не попадут в `req.body` - там тупо будет пусто. Для поддержки работы нам нужно установить промежуточное ПО `body-parser`:

`npm install body-parser`

Подключим установленное ПО:

`import bodyParser from 'body-parser';`

Используем его для обработки всех форм:

`app.use(bodyParser.urlencoded({extended: true}));`

И вот теперь после отправки в `req.body` будет содержаться объект с данными:

`app.post('/target/', function(req, res) { console.log(req.body); // объект с данными res.send('result'); });`

Спросите у пользователя его имя, город и страну. Выведите полученные данные на странице.

←→
↑