Как изменить этот код чтобы при отправке post запроса не приходил undefined (node.js)?

Для того чтобы избежать получения значения undefined при отправке POST запроса в Node.js, вам необходимо изменить ваш код таким образом, чтобы вы корректно обрабатывали данные, передаваемые в теле запроса.

Прежде всего, убедитесь, что вы используете правильные заголовки Content-Type в вашем запросе, чтобы указать тип содержимого как application/json или application/x-www-form-urlencoded, в зависимости от того, какой формат данных вы отправляете.

Затем, на серверной стороне, убедитесь, что вы используете соответствующий middleware для обработки данных POST запросов. Node.js предлагает ряд различных модулей для обработки запросов, таких как body-parser, multer, busboy, и другие. Эти модули позволяют вам легко извлекать данные из тела POST запроса и преобразовывать их в формат JavaScript объектов.

Вот пример использования модуля body-parser для обработки POST запроса с JSON данными:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.json());

app.post('/api/data', (req, res) => {
  const data = req.body;

  // Далее вы можете выполнить любую логику с полученными данными
  // ...

  res.send('Данные успешно получены');
});

app.listen(3000, () => {
  console.log('Сервер запущен на порту 3000');
});

В этом примере, модуль body-parser добавляет middleware, который парсит JSON данные из тела запроса и добавляет их в объект req.body. Таким образом, вы можете получить данные POST запроса, обращаясь к req.body.

Если вы отправляете данные в формате application/x-www-form-urlencoded, вы можете использовать следующий код для обработки таких запросов:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();

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

app.post('/api/data', (req, res) => {
  const data = req.body;

  // Далее вы можете выполнить любую логику с полученными данными
  // ...

  res.send('Данные успешно получены');
});

app.listen(3000, () => {
  console.log('Сервер запущен на порту 3000');
});

В этом примере, модуль body-parser устанавливает middleware для обработки данных application/x-www-form-urlencoded, который парсит данные из тела запроса и добавляет их в объект req.body.

Конечно, они есть и другие модули для обработки POST запросов в Node.js, и вы можете выбрать тот, который лучше подходит для ваших нужд. Но использование подобных модулей в общем случае поможет вам корректно обработать POST запросы и избежать получения значения undefined при получении данных из тела запроса.