来自API req.body

问题描述 投票:0回答:2

当我获取此 API 时,值将作为包含 {password, cpassword, hash} 的 req.body 传递给 API

在 API 代码中,我想从 req.body 和 console.log 解构哈希,同时哈希和 req.body

const { hash } = req.body
console.log(req.body)
console.log(hash)

console.log(req.body)
的结果是
{"password":"g3W*&QRW3wwO","cpassword":"g3W*&QRW3wwO","hash":"6348dc387be01030c2779315"}

console.log(hash)
的结果是
undefined

为什么会这样呢?如果我想使用 req.body 中的信息,例如 req.body.hash 或 req.body.password。我该如何编码?

javascript node.js destructuring
2个回答
0
投票

您的身体很可能返回一个您必须解析的字符串。 您可以尝试使用 typeof 进行检查,在这种情况下您可以使用

JSON.parse(req.body)
。 您可能还想考虑添加空检查。


0
投票

原因是 req.body 被识别为 string 而不是 JSON 对象。

修复它:

const { hash } = JSON.parse(req.body);

如何阅读此代码是 req.body 将从 String 解析为 JavaScript 对象/原型,然后您从 JavaScript 对象/原型解构属性“哈希”

这个答案可能是错误的,但请先尝试一下,因为这些是我根据 JavaScript 后端开发中的常见问题做出的重大假设。

© www.soinside.com 2019 - 2024. All rights reserved.