javascript - 通过 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"}': '' }
整个请求体是键,值为空。
我究竟做错了什么?
解决方案
您使用了错误的 Content-Type 来发送 json
尝试
"Content-Type": "application/json;charset=UTF-8"
推荐阅读
- excel - 如何从vba中的站点提取数据?
- excel - 期末平均值 - 列与行总计
- ionic-framework - 聚焦时表单输入向上移动
- javascript - 使用 recompose 和 typescript 正确键入 HigherOrderComponents
- java - 如何拆分字符串流并生成字符串数组列表?
- elixir - @derive 模块属性的具体语法是什么,它在哪里明确记录?
- mysql - 列出来自 tblUsers 的所有用户(表 1)w/或 w/o 来自 tblRequests 的任何记录(表 2)
- python-3.x - 未找到蜘蛛,关键问题
- json - 一个简单的 json 请求返回一个奇怪的字符串而不是 json 本身
- javascript - 无法在 1 个路由中链接 2 个请求