首页 > 解决方案 > 通过 fetch() 向后端 API 发送 POST 请求时,body 只有 key,没有 value

问题描述

当我向我的后端快速服务器发送 POST 请求时,req.body它仅包含整个正文为键且值部分为空的键部分

这是前端获取请求

let data = {
  videoUrl: "dummy text"
}
fetch("/api/getinfo", {
  method:"POST",
  headers: {
    "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
  },
  body: JSON.stringify(data)
})

这就是我在后端处理它的方式(注意:我正在使用body-parser

app.post("/api/getinfo", (req,res) => {
    console.log(req.body);
}

我希望输出是

'{ "videoUrl":"dummy text" }'

但我得到的是

{ '{"videoUrl":"dummy text"}': '' }

整个请求体是键,值为空。

我究竟做错了什么?

标签: javascriptnode.jsreactjsfetch

解决方案


您使用了错误的 Content-Type 来发送 json

尝试

"Content-Type": "application/json;charset=UTF-8"

推荐阅读