【发布时间】:2016-09-29 22:31:54
【问题描述】:
我需要在正文中使用 json 对象发出 POST 请求。请求如下:
request({
encoding: 'utf8',
url: 'myUrl',
json: true,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Auth-Token': ticket
},
json : JSON.stringify(eval("(" + str + ")"))
}, function (error, response, body) {
console.log(JSON.stringify(eval("(" + str + ")")))
res.status(200).send('added')
}
)
请求没有做它应该做的事情。但是,如果我使用我通过 console.log 获得的 JSON.stringify 评估向 Postman 的相同 url 发出 POST 请求,它就可以工作。任何想法为什么?
【问题讨论】:
-
request函数是什么?它来自哪里? -
当你有
JSON对象可用时,你为什么要使用可怕的eval()hack 来解析 JSON? -
您为什么只解析 JSON 以立即将结果重新编码为 JSON?
-
请求没有做它应该做的事情。 — 那么它做什么呢?这与它应该做的有什么不同?
-
请求什么也不做。不发布json。请求函数来自 node.js 请求模块。我以这种方式解析 JSON,因为我想用作 JSON 的字符串是这个:
var str = "{ policyTag : '" + policyName+ "', networkDevices : [{ deviceId : '" + deviceId + "'}]}",所以我需要尊重语法。评估它会产生{"policyTag":"policyName","networkDevices":[{"deviceId":"699a2e94-3e37-43ef-a751-6845501c4061"}]},它在邮递员中工作。
标签: javascript json request