我正在开发一个带有本地存储的购物车,我声明本地存储
var 购物车 = {};
购物车.产品= [];
localStorage.setItem('cart', JSON.stringify(cart));
并使用 AJAX 从数据数组中添加产品,其中包含 onclick()
事件上的产品详细信息
var product = {};
product.id = msg.produto.id;
product.name = msg.produto.nome;
product.price = msg.produto.preco;
product.image = msg.produto.name;
addToCart(product);
'addToCart'函数使用.push
将数组添加到本地存储对象
var cart = JSON.parse(localStorage.getItem('cart'));
cart.products.push(产品);
然后,我需要在 javascript 中执行 for
或 $.each
来获取所有产品详细信息,一一获取并添加到我的 html 中。
我已经尝试过这种方法:
localStorage.setItem('cart', JSON.stringify(cart));
var retrievedData = localStorage.getItem("cart");
$.each(retrievedData , function (i, item) {
alert(item.nome);
alert(item.product.nome);
});
但不工作...
var returnedData = localStorage.getItem("cart");
对象结果如
{"products":
[
{
"id":"01",
"name":"Product Name 01",
"price":"Product Price 01",
"image":"Product Imagem 01"
},
{
"id":"02",
"name":"Product Name 02",
"price":"Product Price 02",
"image":"Product Imagem 02"
},
]
}
最佳答案
您期望的 localStorage
数据的结果是一个数组,它是返回对象的“products”属性的值。
出于这个原因,我会尝试:
$.each(retrievedData.products , function (i, item) {
...
});
关于javascript - javascript中循环本地存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39663940/