目前正在学习表达方式,但很难获得价值,我不确定自己到底在做什么错。感谢您的帮助
我无法从JSON文件中获取通过对象提供给视图的键值。
我可以显示1个键值totalPrice
但我无法检索产品ID或数量值。
我已经尝试了很多方法,在vs代码的调试模式下,我可以看到控制器中的cart.products
确实解析为具有2个对象的数组。
我可以显示<%= cart %>
和输出[object Object], [object Object]
cart.json
{
"products":[
{
"id":"7275",
"qty":2
},
{
"id":"5697",
"qty":2
}
],
"totalPrice":159.96
}
cart.js(控制器)
exports.getCart = (req, res, next) => {
Cart.fetchAll((cart) => {
res.render('shop/cart', {
pageTitle: 'Cart',
path: '/cart',
cart: cart.products,
totalPrice: cart.totalPrice
});
})
}
(查看)
使用ejs引擎进行渲染,以使totalPrice
正常工作
<p>Total price: <b>£<%= totalPrice %></p></b>
但是由于某些原因,即使输出了2个div,我也无法获得id
或qty
。因此发现购物车中有2种产品,但无法检索id或qty的键值
<% for (let product in cart) { %>
<div>
<%= product.id %>
<%= product.qty %>
</div>
<% } %>
答案 0 :(得分:0)
cart
是一个对象数组,而不是对象本身。
试试这个:
<% cart.forEach(function(product) { %>
<div>
<%= product.id %>
<%= product.qty %>
</div>
<% }); %>