当我获取此 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。我该如何编码?
您的身体很可能返回一个您必须解析的字符串。 您可以尝试使用 typeof 进行检查,在这种情况下您可以使用
JSON.parse(req.body)
。 您可能还想考虑添加空检查。
原因是 req.body 被识别为 string 而不是 JSON 对象。
修复它:
const { hash } = JSON.parse(req.body);
如何阅读此代码是 req.body 将从 String 解析为 JavaScript 对象/原型,然后您从 JavaScript 对象/原型解构属性“哈希”。
这个答案可能是错误的,但请先尝试一下,因为这些是我根据 JavaScript 后端开发中的常见问题做出的重大假设。