我有一个在前台发起的帖子请求:

const response = await fetch("http://localhost:5000/createUser", {
            method: "POST",
            headers: {
              "Content-Type": "application/json",
            },
            body: JSON.stringify({
              email: user.email,
            }),
          });

在我的Express/Node后端,我只记录请求正文:

app.post('/createUser', async (req, res) => {
  try {
    console.log('Request body:', req.body);
  } catch (error) {
    console.error('Error creating user:', error);
  }
});

但是,这是记录到控制台的内容:

Request body: undefined

我不确定为什么会发生这种情况.我收到的请求工作得很好,这是我唯一在做的帖子.有人知道我怎么解决这个问题吗?

推荐答案

我几乎可以肯定您忘记在您的服务器中使用json解析器

app.use(express.json())

Node.js相关问答推荐

如何在不丢失其他键的情况下解开子文档数组,然后反转该过程?

try 使用Express和连接池将数据插入MySQL数据库时出现拒绝访问错误

如何在带有 JS 的 Nodejs 中使用没有 Async 方法的 Await

node-gyp: "..\src\binding.cc: 没有这样的文件或目录"

ResponseError:键空间ks1不存在

无服务器部署使用无服务器组合抛出`spawn serverless ENOENT`

如何使用 node 在 koa.js 中发送响应

使用 Forms API 进行批量更新时生成 itemId

在 node:readline 中按 CTRL+D 时会发出什么信号?

如何在拦截器中发送不同的请求?

users.watch(在 gmail google api 中)如何收听通知?

如何使动态私有IP地址静态?

AWS Kinesis 中的分区键是什么?

如何以编程方式检测nodejs中的调试模式?

如何使用 mocha.js 模拟用于单元测试的依赖类?

如何使用 gulp-uglify 缩小 ES6 函数?

如何解决'npm应该在 node repl之外运行,在你的普通shell中'

Selenium WebDriver 等到元素显示

安装Node.js 安装n 安装Node.js?

fs.createWriteStream 不会立即创建文件?