我正在将一系列对象发送到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进行提取,则可以正常工作。显然,发送对象数组并使用正文解析器提取它有些不同,我无法弄清楚。任何帮助表示赞赏。
答案 0 :(得分:0)
您可以尝试:
var array = Array.from(req.body.list)
如果req.body.list
是类似数组的对象,则可以使用。