SyntaxError:意外的令牌u

时间:2015-12-02 15:29:51

标签: javascript angularjs ionic

我似乎总是得到错误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语句应该通过创建一个新数组来解决任何问题(如果一个不可用)。

1 个答案:

答案 0 :(得分:3)

尝试解析undefined时出现错误。它将其解析为字符串,将u作为第一个字符命中,这不是有效的JSON格式,然后抛出。检查错误的行号以查看哪个失败,可能

var a = JSON.parse($window.localStorage['fav']);

因为您不会检查该值是否存在。