在这种情况下,为什么会话存储将值赋值为null

时间:2015-09-22 12:19:18

标签: jquery

我在会话存储中设置了一个值,但在重新启动时,我将其作为空值。

这是我的代码

window.sessionStorage.setItem(12, "3");



var data = [
    {
        "item_id": "12",
        "cost": "30"
    },
    {
        "item_id": "13",
        "cost": "30"
    },
    {
        "item_id": "14",
        "cost": "30"
    }
]

for(var i=0;i<data.length;i++)
{
    var item_id = data.item_id;

    var val_sess = sessionStorage.getItem(item_id);

    console.log(val_sess);
}

http://jsfiddle.net/orurq7yL/1/

3 个答案:

答案 0 :(得分:2)

因为&#34; 12&#34;和12是不一样的东西。你需要在你的钥匙中保持一致。

答案 1 :(得分:1)

确保使用正确的类型:

typeof 12   // number
typeof "12" // string

答案 2 :(得分:1)

您在 setItem 功能中缺少 12 的引号,并且无法正确访问数据数组。

更改代码,如下所示。

window.sessionStorage.setItem("12", "3");

...

var item_id = data[i].item_id;

查看更新的JSFIDDLE