2015-09-22 28 views
0

我設置在會話存儲的值,但在retriving它我得到它爲空值。爲什麼會話存儲是給一個空值在這種情況下

這是我的代碼

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/

回答

2

因爲 「12」 和12是不一樣的東西。你需要在你的密鑰中保持一致。

+0

OK,請你讓我知道如何取回它在這種情況下 – Pawan

+0

@PreethiJain使用相同的數據類型,要麼使您的密鑰存儲在一個字符串或使您的ID號碼 –

1

請務必使用正確類型:setItem功能

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

你缺少報價,不訪問數據數組正確。

更改代碼,如下所示。

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

...

var item_id = data[i].item_id; 

見更新JSFIDDLE

+0

謝謝你的情況下,12是動態的,我如何設置12引號.window.sessionStorage.setItem(vendor_item_id,currentQuantity); – Pawan

+0

你需要將它轉換爲字符串,例如。 window.sessionStorage.setItem(vendor_item_id +'',currentQuantity); – CuriousSuperhero

+0

查看再次更新的jsfiddle。 – CuriousSuperhero

相關問題