未定义显示在我的表格下方 - 会话存储

时间:2018-04-09 07:30:02

标签: javascript

下面的代码有效,但问题是我的表格下面显示了undefined。我试图删除Org1 - Peer 1 - - - - Peer 5 - user 1 , user 2 .... user 100 ,但它删除了整个表格。有人可以帮帮我吗?

sessionStorage.basket === undefined

1 个答案:

答案 0 :(得分:1)

使用localStorage代替sessionStorage,直到没有具体的理由可以使用。

<强>原因: 每个窗口可以使用sessionStorage,并且您可能在其他窗口上存储了篮子的值,并试图进入不同的窗口。

  

localStorage代替sessionStorage之间的差异:

<强> localStorage的

localStorage中存储的数据会一直存在,直到明确删除为止。所做的更改将保存并可用于该网站的所有当前和未来访问。

<强>的sessionStorage

对于sessionStorage,更改仅适用于每个窗口(或Chrome和Firefox等浏览器中的标签)。所做的更改将保存并可用于当前页面,以及将来在同一窗口中访问该站点。窗口关闭后,存储将被删除。

您有问题

首先确保您正确地在localStorage中设置值(对象数组)。这样做:

localStorage.setItem("basket", JSON.stringify(basketvalues));

现在loadBasket()函数中的条件将是这样的:

if(localStorage.getItem("basket") === undefined || localStorage.getItem("basket") === "") {
        // Store as an array
        basketArray = [];
    }
    else {
        // Parse the data as an object
        basketArray = JSON.parse(localStorage.getItem("basket"));
    }

有关localStorage的更多信息,请阅读以下链接:

https://www.w3schools.com/jsref/prop_win_localstorage.asp