运行代码时,我似乎总是会收到错误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/

10-10 17:02