You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express处理JSON格式POST请求时请求体为空的问题求助

Express处理JSON格式POST请求时请求体为空的问题求助

各位好,我最近遇到个头疼的问题:在React项目里用fetch给Express后端发JSON格式的POST请求,但是后端始终拿不到请求体,打印出来是空对象,折腾好久都没解决,想请大家帮我看看哪里出问题了。

先贴一下我前端React里的请求代码:

const response = await fetch('http://localhost:3100/api', { 
  method: 'POST',
  mode: 'no-cors',
  headers: {
    'Content-type': 'application/json'
  }, 
//  body: { "user":"1", "cmd":"Send NFT"},
  body: JSON.stringify({ user: 1, cmd:"Send NFT"}),
})

我试过注释里直接传对象的写法,也试过用JSON.stringify转成字符串的写法,但两种都没效果。

再贴后端Express(版本4.21.1)的代码:

const express = require('express');
const app = express();
const port = 3100;

app.use(express.json());

app.get('/', (req, res) => {
  res.send('Hello World!');
})

app.post('/api', (request, response) => {

  console.log("User: " + JSON.stringify(request.body) );
  
  if (request.body.user == 1) response.send(JSON.stringify({ user: 1, cmd: request.body.cmd}));
  else if (request.body.user == 2) response.send(JSON.stringify({user: 2, cmd: "Info from 1"})); 
})
  
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

我已经加了app.use(express.json())中间件来解析JSON请求体了,但是后端打印request.body的时候始终是空对象,导致后续的判断逻辑也走不通。

有没有大佬能帮我排查下问题出在哪呀?

备注:内容来源于stack exchange,提问作者David Pawlak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 12:58:04