我尝试将发布请求发送到API,并且发布参数应为array,
这是如何在cURL中发送它
curl http://localhost:3000/check_amounts
-d amounts[]=15 \
-d amounts[]=30
我试图使用请求模块在Node.js中做到这一点
request.post('http://localhost:3000/check_amounts', {
form: {
'amounts[]': 15 ,
'amounts[]': 30
}
}, function(error, response, body) {
console.log(body)
res.json(body);
});
但是第二个量会覆盖第一个量,API会得到如下结果:
amounts = [30]
然后我尝试用不同的方式发送
request.post('http://localhost:3000/check_amounts', {
form: {
'amounts[]': [ 15 , 30]
}
}, function(error, response, body) {
console.log(body)
res.json(body);
});
但结果不符合预期
amounts = [{"0":15},{"1":30}]
注意:标头应包含“ Content-Type”:“ application / x-www-form-urlencoded”而非“ application / json”
有人能解决这个问题吗?
最佳答案
如果您阅读请求手册,这很容易。您要做的就是用querystring
而不是object
替换表格,在您的情况下,应为:amounts=15&amounts=30
我唯一不确定的是上面的表达式是否可以在您的Web服务器中使用。据我所知,它在Java struts
中效果很好。因此,如果没有,您可以尝试amounts[]=15&amounts[]=30
代替。希望对您有所帮助。