[英]NodeJS request doesn't encode the entire form
任务很简单,我用POST请求( https://banana.com/endpoint/swap.php
)请求端点,并给我它的形式: { banana: ["China's Red", "Sweden's Gray"], apples: [] }
并发送。 但是,我正在使用的NodeJS的请求模块不会对空数组进行编码(在本例中为“ apples”),并且如果端点未收到“ apples”数组,则会返回错误-“无效的JSON”。 我尝试使用已经编码的字符串来执行此操作,并且效果很好。 我也无法将我的json字符串化,然后使用encodeURI()
,因为它随后将在它们周围给出“香蕉”和“苹果”引号,这些引号将被编码-不用说,端点也不喜欢那样。
如果有人至少可以指出我正确的方向,我将不胜感激。 由于我不确定如何进行此操作,而不会创建一些糟糕的意大利面条代码。
data = { banana: ["China's Red", "Sweden's Gray"], apples: [] }
result = JSON.parse(JSON.stringify(data)) .
香蕉和苹果不会给您带来双重的好处,如果您需要访问,请访问它
console.log(result.banana)
console.log(result.apple)
因此,如果您需要在发布请求中提供此结果,则-
url = 'your url';
const options = {
url: url,
method: 'POST',
headers: {
Accept: 'application/json',
'Accept-Charset': 'utf-8'
},
json: result
};
request.post(options, function (err, response, body) {
// do something with your data
})
让我知道这个是否奏效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.