我正在通过一个包含一系列" wine"的POST。发送上的对象看起来像。但是,当我在服务器端记录请求时,该数组是键和值的集合。我错过了什么:
**** MY TEST REQUESTING CODE ****
request.post("http://localhost:3000/todos", {form: params}, function(err, response){
console.log(response.body);
})
****因为它正在出现的选择****
var params = {
name: 'Test Do',
summary: 'This is the summary',
wines: ['56ad66897070ffc5387352dc', '56dg66898180ffd6487353ef']
}
****我的服务器端代码---为了健康而短缺***
exports.todoPost = function(req, res){
console.log(req.body);
var todo = new ToDo(req.body);
todo.save(function(err, todoX){
if(err){return res.send.err;}
console.log(req.body.store_config)
if(todo.wines){
****' console.log(req.body)****
的输出{ name: 'Test Do',
summary: 'This is the summary',
'wines[0]': '56ad66897070ffc5387352dc',
'wines[1]': '56dg66898180ffd6487353ef' }
我可以不在POST中发送数组吗?我在网上看到的所有内容以及我尝试过的所有内容都无法正常工作。它说我正确地传递了东西。
答案 0 :(得分:0)
从技术上讲,您确实使用POST发送了一个数组。他们的处理方式不同。您可以做的一件事是将对象作为JSON字符串发送。
request.post("...", { form: JSON.stringify(params) }, function( ...
然后在服务器端,只需使用JSON.parse
撤消字符串化。
var params = JSON.parse(req.body);