【问题标题】:sessionStorage.get() - get current key valuesessionStorage.get() - 获取当前键值
【发布时间】:2018-11-07 06:48:12
【问题描述】:

我有一个当前的 sessionStorage。 .set 方法工作正常。

问题在于它没有修复的关键。它是使用我单击的第一个产品的数组创建的。

像这样:

像这样,我无法在另一个页面中使用 .get 方法的键值。

这是我的 JS。

$('.go-to-bag').click(function() {
  var productId = $(this).parent().attr('id');
  var productName = $(this).parent().attr('product-name');
  var productQty = $(this).prev().val();
  var productLWeight = $(this).parent().attr('product-weight');
  var productPesoBruto = $(this).parent().attr('product-pesobruto');
  var productPrice = $(this).parent().attr('product-price');
  var productPricesemiva = $(this).parent().attr('product-pricesemiva');

  var newList = new Object();

  if (sessionStorage.newShoppingList) {
    newShoppingList = JSON.parse(sessionStorage.getItem('newShoppingList'));
  } else {
    newShoppingList = []
  }

  newShoppingList.push({
    productId,
    productName,
    productQty,
    productPrice,
    productPricesemiva,
    productLWeight,
    productPesoBruto
  });

  sessionStorage.setItem('newShoppingList', JSON.stringify(newShoppingList));

  var retrievedObject = sessionStorage.getItem('newShoppingList');
  console.log('retrievedObject: ', JSON.parse(retrievedObject));

});

那么,我可以获取密钥以便我可以使用 .get 方法并检索插入到另一个页面中的值吗?

【问题讨论】:

  • 密钥是newShoppingList,不固定是什么意思?
  • 我的意思是,它应该是newShoppingList。但相反,每次我点击一个产品时,键都会改变。你可以在这里:develop2you.com/equador/category.php?id=3&ids=3
  • 我试过了,每次点击SACO DE COMPRAS都会更新newShoppingList项。
  • 请使用Stack Snippet 在 Stack Overflow 上显示所有相关代码。
  • 那么您对我在另一个页面上使用 .get 方法有什么建议吗?

标签: javascript jquery html session-storage


【解决方案1】:

你给我们的例子是正确的。 在这一点上,我会回顾一下这是否真的是你唯一称呼.setItem的地方。

另外,最后一个问题让我想知道——你打算使用localStorage 而不是sessionStorageSee this link for the difference

W3Schools Web Storage Reference

【讨论】:

  • 他正在使用 EcmaScript-6 速记。 {a, b, c}{a: a, b: b, c:c} 的缩写
  • 哦,现在支持了吗?很高兴知道!已编辑。
  • 我怀疑他确实想使用会话存储。这是一个零售网站的购物车,所以他只希望它在用户访问网站时持续使用。
  • 好吧,换一种说法:我想将产品中的值存储在此页面上:develop2you.com/equador/category.php?id=3&ids=26,然后将它们显示在此页面上(右侧列 - 就像购物清单): develop2you.com/equador/billing.php 因此,当我谈论 sessionStorage.get 时,我希望能够获取存储在 sessionStorage 中的值并在该列表中显示每个产品。 sessionstorage 的原因是我不想在用户关闭选项卡时存储任何值。
  • 可能。只是这个问题让我感到震惊。 So, I can I get the key so i can use .get method and retrive the value inserted in another page? 如果他无法从另一个页面检索值,我认为他可能不会完全理解差异...... 耸耸肩
猜你喜欢
  • 2014-01-03
  • 2011-01-04
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2013-10-26
  • 1970-01-01
相关资源
最近更新 更多