0

我正在尝试将变量存储在我的移动网站上的 localStorage 中,因此如果用户离开,他们的状态不会丢失。为此,我将所有重要数据作为 JSON 存储在 localStorage 中。但是,数据的某些部分是 Parse 对象(Backbone 模型)并具有toJSON功能。为了不显眼地存储数据,我需要删除toJSON以便对象按原样存储,然后重新附加它。但是,我的代码不起作用:

                var toJSON = null;
                if(obj && obj.toJSON) {
                    toJSON = obj.toJSON;
                    delete obj.toJSON;
                }

                window.localStorage[localStorageIndex] = JSON.stringify(obj);

                if(toJSON)
                    obj.toJSON = toJSON;

任何想法为什么?谢谢。

4

2 回答 2

1

试一试:

obj.toJSON = undefined;

window.localStorage[localStorageIndex] = JSON.stringify(obj);

delete obj.toJSON;

这应该暂时用 遮蔽原型toJSONundefined导致stringify()跳过它。

于 2012-10-07T00:04:15.287 回答
0

我学会了不要使用 localStorage 存储重物......

于 2012-10-18T21:23:55.517 回答