2017-06-02 80 views
-1

爲什麼不能正常工作?sessionStorage不適用於JSON.stringify或?

function VarsStorage(act,varname,val){ 
    if(act == 'get'){ 
    return sessionStorage.getItem(varname+'Cache'); 
    }else if(act == 'set'){ 
    sessionStorage.setItem(varname+'Cache', val); 
    } 
} 

VarsStorage('set','addStocksList',JSON.stringify(holder)); 

我嘗試了很多這種代碼的組合,它仍然不起作用。

+1

因爲持有人沒有在任何地方定義? –

+1

什麼是持有人? –

+1

不工作意味着什麼? –

回答

0

設置爲我工作:

var holder = { ... }; 

VarsStorage('set','addStocksList',JSON.stringify(holder)); 

但是,如果你得到從存儲序列化對象,你必須使用JSON.parse解析字符串轉換成一個對象:

var holder = JSON.parse(VarsStorage('get','addStocksList')); 
0

這裏工作完美,只需設置holder

function VarsStorage(act,varname,val){ 
    if(act == 'get'){ 
    return sessionStorage.getItem(varname+'Cache'); 
    }else if(act == 'set'){ 
    sessionStorage.setItem(varname+'Cache', val); 
    } 
} 

var holder = { "name":"John", "age":30, "city":"New York"}; 
VarsStorage('set','addStocksList',JSON.stringify(holder)); 

VarsStorage('get','addStocksList'); 
//return 
//"{"name":"John","age":30,"city":"New York"}" 
相關問題