我目前正在做一个小的浏览器游戏,我正在使用HTML localStorage来保存一些数据。
问题在于:我有一个空数组,我稍后会将一些数据.push()
到其中。我将此数组存储在localStorage中,但当我尝试从本地存储读取时,它不工作。
Chrome开发者工具控制台显示以下错误:“未捕获的语法错误:尝试解析localStorage中的数据时出现意外标记u”。
下面是我使用的代码:
var allContracts = [];
localStorage["allContracts"] = JSON.stringify(allContracts);
allContracts = JSON.parse(localStorage["allContracts"]);
还有比这更多的代码,但没有一个以任何方式与这些交互。
是不是localStorage或JSON有什么我不知道的怪癖,导致了这个问题?(我对JSON或localStorage不是很熟悉)我应该用不同的方法来做这个吗?或者我只是错过了一个明显的错误?
提前感谢:)
4条答案
按热度按时间siv3szwd1#
最好的方法是使用
localStorage
接口提供给你的方法。它有setItem()
和getItem()
方法,所以为什么不使用来保护你自己呢?在您的这段代码中,您使用自己的值覆盖了
localStorage
全局对象,因此丢失了该功能。你这样做:
你需要这个:
更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
wydwbb8l2#
我自己才刚刚开始使用localStorqage,但看起来您应该使用window.localStorage.setItem()和window.localStorage.getItem()
50pmv0ei3#
您可以像这样使用可重用方法。
dgsult0t4#
您应该使用
更多详细信息,请访问:https://developer.mozilla.org/en-US/docs/Web/API/Storage