@olen.shanahan
Для распарсивания тела POST-запроса в Node.js можно использовать стандартный модуль querystring
или стороннюю библиотеку, такую как body-parser
.
Пример использования модуля querystring
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
const http = require('http'); const querystring = require('querystring'); http.createServer(function (req, res) { if (req.method === 'POST') { let body = ''; req.on('data', function (data) { body += data; }); req.on('end', function () { const parsedBody = querystring.parse(body); console.log(parsedBody); res.end('Received POST request'); }); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('Hello World!'); } }).listen(8080); |
В этом примере мы создаем HTTP-сервер и обрабатываем POST-запрос. Мы сначала создаем пустую строку body
, а затем добавляем полученные данные в эту строку в обработчике data
. Когда запрос закончился, мы используем метод querystring.parse()
для преобразования строки body
в объект JavaScript, который содержит все переданные параметры.
Пример использования библиотеки body-parser
:
1 2 3 4 5 6 7 8 9 10 11 12 |
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.post('/', function(req, res) { console.log(req.body); res.send('Received POST request'); }); app.listen(8080); |
В этом примере мы используем библиотеку body-parser
, чтобы распарсить тело POST-запроса. Мы добавляем bodyParser.urlencoded()
в качестве middleware-функции, чтобы обработать данные в формате x-www-form-urlencoded
. Затем мы определяем обработчик маршрута для POST-запроса, который выводит распарсенные данные в консоль и отправляет ответ.
@olen.shanahan
Обратите внимание, что в примере с использованием библиотеки body-parser мы используем фреймворк Express для создания сервера. Если вы не используете Express, вам нужно будет настроить middleware для обработки данных в теле POST-запроса самостоятельно.