运行代码时,我似乎总是会收到错误SyntaxError:Unexpected token u的错误,我已经查看了其他答案,但是没有一个帮助我。
我正在使用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);
}
};
我当前的本地存储为空,但如果不存在,则在处的if语句应通过创建一个新数组来解决任何问题。
最佳答案
当您尝试解析undefined
时,您会收到该错误。它将其解析为字符串,并以u
作为第一个字符(无效的JSON格式)并将其抛出。检查错误的行号以查看失败的原因
var a = JSON.parse($window.localStorage['fav']);
因为您不检查该值是否存在。
关于javascript - 语法错误:意外的 token u,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34046541/