首页 > 解决方案 > Express bodyparser 无法正常工作

问题描述

要设置我的 bodyparser,我使用以下代码:

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

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

现在,如果我的快速路由器中有以下 POST 路由:

var router = require('express').Router();

router.post('/sendadvertisement', async (req, res) => {
  console.log(req.body)
});

结果是[Object: null prototype] {advertisement: 'test'} -> Myreq.body不是空的,因为它在我的控制台输出中是 json 格式。

我真的不明白这个结果是怎么发生的,因为我定义了 body 应该是 json 格式。我也试过了app.use(express.json()),也不行。

标签: javascriptnode.jsexpressbody-parser

解决方案


如果您使用的是 express,那么您可以使用此代码来设置您的正文解析器。

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

推荐阅读