javascript - javascript中循环本地存储对象

标签 javascript json local-storage

我正在开发一个带有本地存储的购物车,我声明本地存储

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/

相关文章:

javascript - 如何在方法上下文中从 localForage 返回项目值?

json - Azure 数据工厂复制事件 JSON 数据类型转换问题

python - 如何在没有数据库的情况下制作自定义表单 - DJANGO

javascript - 如何在 session 存储中使用相同的键更新数组

html - Webkit 支持三星电视浏览器上的本地存储

javascript - 在 IE6 中为 li 元素添加 onclick 事件

javascript - 调试: ESLint Warning "Function declared in a loop contains unsafe references to variable(s)...no-loop-func"

javascript - 如何加密 pouchdb 数据库

java - 从 Java 代码将 JSON 文件批量上传/导入到 Azure Cosmos DB

ruby-on-rails - 使用 NSURL 使用 JSON 在 Rails 服务器上创建新帖子时重复参数