我似乎总是得到错误SyntaxError:当我运行我的代码时出现意外的令牌,我已经查看了其他答案,但没有人帮助过我。 我正在使用angularjs并从json数组中传入id。
var fav=[];
if($window.localStorage['fav']){
$scope.fav = JSON.parse($window.localStorage['fav']);
} else {
$scope.fav = [];
};
$scope.togglefav = function(id) {
var a = JSON.parse($window.localStorage['fav']);
if (a.indexOf(id) == -1){
fav.push(id);
console.log(fav);
$window.localStorage['fav'] = JSON.stringify(fav);
}
else{
a.splice(id, 1);
$window.localStorage['fav'] = JSON.stringify(a);
console.log(a);
}
};
我当前的localstorage是空的,但是if上的if语句应该通过创建一个新数组来解决任何问题(如果一个不可用)。
答案 0 :(得分:3)
尝试解析undefined
时出现错误。它将其解析为字符串,将u
作为第一个字符命中,这不是有效的JSON格式,然后抛出。检查错误的行号以查看哪个失败,可能
var a = JSON.parse($window.localStorage['fav']);
因为您不会检查该值是否存在。