gpt4 book ai didi

node.js - Node 在 'equal' 符号 = 处破坏 URL 中的 JSON 字符串

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:08 24 4
gpt4 key购买 nike

我正在 React 客户端 (localhost:3000) 上从 FB API 接收用户对象。然后我将其发送到我的 Node 服务器(localhost:4000)当在 Node 路由上接收到对象并且我控制台记录它时,它将任何具有“=”符号的值拆分为“:”(冒号和空格)。这破坏了我的 JSON 对象。

从客户端发送的原始对象:(问题出在 imageUrl 键等号中)

userInfo {
about: "abcde"
age: 26
email: "test@test.com"
fbProfileLink: "www.some-profile-link-here.com"
gender: "male"
id: null
imageUrl: "https://url-url.url.url/platform/profilepic/?asid=3422352323&height=50&width=50&ext=3422352323&hash=hash"
language: {mainLang: "", speaksEnglish: true}
name: "abcde"
residence: "abcde"
}

这就是我在 Node 服务器中获取它的方式:(变成“asid”:...)

"imageUrl":"https://url-url.url.url/url/profilepic/?asid': '3422352323',
height: '50',
width: '50',
ext: '3422352323',
hash: 'hash'

路由器功能:

router.post("/post-test", (req, res, next) => {
console.log("hi amit POST")
console.dir(req.body)
res.end()
})

客户端发送请求:

axios.post("http://localhost:4000/post-test", user, {
headers: {"Content-Type": "application/x-www-form-urlencoded"}
})
.then(res => {})
.catch(err => {
console.log(err)
})

它就像打破字符串来查询参数,但我只想将它作为字符串

最佳答案

axios.post("http://localhost:4000/post-test", user, {
headers: {"Content-Type": "application/x-www-form-urlencoded"}
})

在这里,您告诉服务器您正在发送form-urlencoded数据。 URL 编码数据遵循 key=value&key2=value2 格式。服务器看到 Content-Type header 并尝试将您的 JSON 解析为 URL 编码数据。

将 Content-Type 更改为 JSON 类型:

axios.post("http://localhost:4000/post-test", user, {
headers: {"Content-Type": "application/json"}
})

关于node.js - Node 在 'equal' 符号 = 处破坏 URL 中的 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56166311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com