我正在一个快速应用程序中发送一个对象数组到一个后期路线。
我的表格(以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提取,这可以正常工作。显然,发送一个对象数组并使用body解析器提取它有一些不同之处我无法弄明白。任何帮助赞赏。
你可以尝试:
var array = Array.from(req.body.list)
如果req.body.list
是一个类似数组的对象,这将起作用。