Как получить параметры почтового запроса на экспресс-сервере?

Ниже приведен код для публикации продукта с использованием службы angular. Здесь я передаю продукт как тело


  addProduct(product): Observable<any> {
    return this.http.post<Observable<any>>(
      `http://localhost:4401/api/products`,
      {
        product,
      }
    );
  }


Но когда я пытаюсь получить к нему доступ внутри моего экспресс-сервера, я получаю неопределенное.

app.post("/api/products", async (req, res) => {
  console.info("req :", req.body);
});

Другие глаголы, такие как GET, DELETE, работают нормально.

Также нормально работает следующее:

app.get("/api/products/:id", async (req, res) => {
  try {
    const responseData = await db.get(req.query.id);

    res.json({ product: responseData  });
  } catch (e) {
    console.info(e);
  }
});

Но параметры внутри глагола POST не получаются внутри экспресс-сервера.

Отвечает ли это на ваш вопрос? req.body пустой на постах

O. Jones 09.12.2020 18:15

На самом деле парсер тела устарел. Я использую мультер. Есть ли альтернатива?

mx_code 09.12.2020 18:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
100
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для парсинга json-полезной нагрузки вам нужен соответствующий синтаксический анализатор. Для этого вы можете использовать встроенный парсер экспресса:

const express = require('express');
const app = express();
app.use(express.json());

app.post("/api/products", async (req, res) => {
  console.info("req :", req.body);
});

Рад помочь, пожалуйста, не забудьте проголосовать / принять мой ответ, нажав на галочку слева.

eol 09.12.2020 19:03

Другие вопросы по теме