【发布时间】:2014-06-06 22:46:22
【问题描述】:
我在网上看到意外的令牌问题可能来自使用 JSON.parse()。在我的 iPhone 5 上没有问题,但在我的 Nexus 7 上却出现以下错误序列:
我意识到这是重复的,但我不确定如何针对我的具体问题解决这个问题。这是我实现 JSON.parse() 的地方
$scope.fav = [];
if ($scope.fav !== 'undefined') {
$scope.fav = JSON.parse(localStorage["fav"]);
}
【问题讨论】:
-
我会说一个好的第一步是
console.log(localStorage["fav"]),看看在 Nexus 上能给你带来什么 -
能否在
JSON.parse之前显示console.log(typeof localStorage["fav"]);和console.log(typeof JSON.stringify($scope.fav));的输出。它不应该是undefined,但localStorage(例如数据太大)或JSON.stringify可能存在问题。Unexpected token u表示它是undefined -
addToFav 函数仅在单击按钮时被调用。这些按钮不会出现在 Nexus 上,而只会出现在 iPhone 上。我应该在那里看到输出吗?
-
由于您的 Nexus 上没有调用
addToFav,因此错误很可能发生在另一个地方,您确定您发布的代码就是错误发生的地方吗?还是我误解了你的评论?如果那里没有错误,那么显示 iPhone 的输出就没有任何意义。 -
@t.niese 抱歉,问题出现在错误的地方。我已经用设备加载时调用的代码更新了这个问题。现在回想起来,我认为主要问题是由 JSON.parse(localStorage["fav"]);没有任何价值,因为这是我第一次在这个 Nexus 上加载应用程序。在此之前,数据一直存储在 iPhone 上。我认为“未定义”一词在这里是不正确的,因为它是之前定义的。
标签: javascript json angularjs token