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

使用Fetch发送对象至服务器JSON文件返回空对象,Postman正常求排查

问题排查与解决方案

我来帮你搞定这个问题!你遇到的情况是因为fetch发送请求时没有正确处理请求体的格式和请求头,而Postman帮你自动做了这些步骤,所以能正常工作。

问题根源分析

你当前的fetch代码直接把JS对象{a: 1, b:2}作为body参数传递,但fetch API不会自动将JS对象序列化为JSON字符串,也不会自动设置Content-Type: application/json请求头。这就导致后端收到的请求体格式不对,无法解析出你要的数据,所以返回空对象。

而Postman发送JSON请求时,会自动完成两个关键操作:

  • 将你输入的JSON对象转成JSON字符串
  • 自动添加Content-Type: application/json请求头
    这也是为什么Postman能正常工作的原因。

修改后的正确代码

你需要对fetch请求做两处修改:

  • 用JSON.stringify()把JS对象转为JSON字符串
  • 在请求头中明确设置Content-Type: application/json

修改后的代码如下:

fetch(url + '/send', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json' // 必须设置这个请求头
  },
  body: JSON.stringify({a: 1, b:2}) // 将对象转为JSON字符串
})

额外注意(可选)

如果你用的是Express这类后端框架,要确保已经配置了解析JSON请求体的中间件(比如express.json()),不过从Postman能正常工作来看,你的后端应该已经配置好了,这一步可以忽略。

内容的提问来源于stack exchange,提问作者AzazaMaster

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 00:02:38