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

Express服务器POST请求JSON格式req.body始终为空问题求助

问题原因&解决方案

1. 前端fetch配置拼写错误

fetch API的请求配置中,请求头的配置字段是复数形式headers,你当前代码中写的是单数header,导致Content-Type: application/json请求头没有被正确携带。
Express内置的express.json()中间件只会对请求头Content-Type为application/json的请求做解析,缺少对应请求头的情况下中间件会直接跳过解析,req.body就会是空对象。
修复后的前端fetch代码:

fetch('/register', {
    method: 'POST',
    // 这里把header改为headers
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        'username': username,
        'password': password
    })
})

2. curl命令参数使用错误

你使用的curl命令参数格式错误,-H参数仅用于指定请求头,指定请求方法需要用-X参数,正确的curl命令如下:

curl -X POST -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:3000/register

验证步骤

修改完代码后重启Express服务,重新发起请求即可正常在req.body中获取到提交的JSON字段。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:24:00