使用主体解析器从对象数组中提取对象

时间:2019-02-22 17:58:58

标签: javascript express body-parser

我正在将一系列对象发送到Express应用程序中的发布路线。

我的表单(以ejs格式)是:

<form action="/archiveList/<%= list._id %>" method="POST">`
<input type="hidden" name="list" value = <%= items %> >
</form>

我的帖子路线是:

router.post("/archiveList/:id", function (req,res){
var array = req.body.list;
array.forEach(function(obj){
console.log(obj.name)
res.redirect("/main");
});

这给我一个错误,即“ array.forEach不是函数” 如果我:

console.log(array) // I get "[object"

如果我

console.log(typeof(array)) // I get "string".

我的app.js包括:

app.use(bodyParser.urlencoded({extended:true}));.

如果我只是向路由发送一个简单的字符串并使用req.body进行提取,则可以正常工作。显然,发送对象数组并使用正文解析器提取它有些不同,我无法弄清楚。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以尝试:

var array = Array.from(req.body.list)

如果req.body.list是类似数组的对象,则可以使用。