首页 > 解决方案 > 为什么我使用 Express 从 post 请求中收到空对象?

问题描述

使用此代码,我只能使用 Postman 取回空对象。

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

router.post('/', (req, res, next) => {
  const product = {
    name: req.name,
    price: req.price,
  };
  res.status(201).json({
    message: 'Handling POST requests to /products',
    createdProduct: product
  });
});

标签: node.jsexpresspost

解决方案


需要明确的是,我开始使用 req.body 。但是,我不确定如何解决此问题。为了解决问题,我删除了.body。

我现在明白我需要.body。

问题是我要声明:

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

在我宣布我的路线后,这意味着 body-parser 将无法在我的 /products 路线下工作,因为该路线尚未建立。


推荐阅读