【问题标题】:sessionStorage not storing original objectsessionStorage 不存储原始对象
【发布时间】:2016-11-07 18:18:42
【问题描述】:

我有一个通过执行 SDK 功能得到的对象。当我尝试将对象存储在会话存储中并检索对象时,检索到的对象看起来与原始对象相同,但是当我对新对象执行操作时出现错误。

var xyzObject = some_function();

sessionStorage.setItem("xyzObject",xyzObject);

var obj = JSON.parse(sessionStorage.getItem("xyzObject"));

obj.some_other_function();

显示错误,因为 obj.some_other_function 不是函数。而 xyzObject.some_other_function 完美运行。

【问题讨论】:

标签: javascript javascript-objects session-storage


【解决方案1】:

试试

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

并使用以下方法检索:

  JSON.parse(sessionStorage.getItem('xyzObject'));

【讨论】:

  • 我只使用上述实现。
【解决方案2】:

您不能在 sessionStorage 或 localStorage 中存储对象。唯一可能的方法是将对象字符串化并将其保存在 sessionStorage 中,并在从 sessionStorage 接收对象时将对象解析为 JSON。

var xyzObject = some_function();

sessionStorage.setItem("xyzObject",JSON.stringify(xyzObject));

var stringData = sessionStorage.getItem("xyzObject");

var obj = JSON.parse(stringData);

obj.some_other_function();

【讨论】:

    猜你喜欢
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    相关资源
    最近更新 更多