我正在开发具有本地存储空间的购物车,我声明了本地存储空间

var cart = {}; cart.products = []; localStorage.setItem('cart', JSON.stringify(cart));

并从具有onclick()事件上的产品详细信息的数据数组中添加具有AJAX的产品

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(product);

比,我需要在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 retrievedData = localStorage.getItem("cart");对象结果lik

{"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"
        },
    ]
}

最佳答案

var retrievedData = localStorage.getItem("cart");


retrievedData是包含JSON的字符串。您必须先使用JSON.parse解析它以获得对象。

然后,您可以按照Access / process (nested) objects, arrays or JSON中提到的技术遍历数据结构。

关于javascript - 在JavaScript中循环本地存储对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39663940/

10-13 02:14