繁体   English   中英

req.body 在 json 属性名称中返回 Object

[英]req.body return a Object in json property name

我正在使用 js 制作表单,但 req.body 返回以下内容,我无法访问数据

{ 'object Object': '' }

//with JSON.stringify:
{ '{"A":"a","B":"b","C":"c"}': '' }

客户

    var body = `{
        "A": "a",
        "B": "B",
        "C": "c"
    }`
    body = JSON.parse(body) // Object { A: "a", B: "b", C: "C" }
    body = JSON.stringify(body) // "{\"A\":\"a\",\"B\":\"b\",\"C\":\"c\"}"
const opts = {
  method: "POST",
  headers: {
  "content-type": "application/x-www-form-urlencoded",
},
body
}
console.log(body)
    fetch(`${document.URL}/post`, opts).then((response) => {
        console.log(response.status);
        console.log(response.json());

    })
})

服务器

router.post("/post", auth, async (req, res) => {
    console.log(req.body)
    res.status(201)
    res.end()
});

我想知道如何从这个 go

{ '{"A":"a","B":"b","C": "c"}': '' }

对此

{ A: "a", B:"b", C: "c"}

解决方案

谢谢Barmar和Phil,你的回答解决了

"content-type": "application/x-www-form-urlencoded"替换为"Content-type": "application/json",在标头中添加app.use(express.json())在 server.js

看一下这个

const obj = { '{"A":"a","B":"b","C": "c"}': '' };
const arr = Object.keys(obj);

console.log(JSON.parse(arr[0]));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM