我尝试向API发送post请求,post参数应该是数组, 这是如何在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}]
注意:标题应包含'内容类型':' application / x-www-form-urlencoded'不是' application / json'
有没有人能解决这个问题?
答案 0 :(得分:5)
如果您阅读了请求手册,这很容易。您应该做的就是用querystring
而不是object
替换表单,在您的情况下应该是:
amounts=15&amounts=30
我唯一不确定的是上述表达式在您的Web服务器中有效。据我所知,它在java struts
中运行良好。所以,如果没有,你可以尝试
而是amounts[]=15&amounts[]=30
。希望它有所帮助。