AngularJS:SyntaxError在使用$ http

时间:2015-07-17 18:25:46

标签: javascript angularjs angularjs-service

我需要使用$ http服务访问文件。但是在浏览器控制台中 iam得到以下错误

SyntaxError: Unexpected token '
    at Object.parse (native)
    at vc (http://localhost/libFile/angular.min.js:15:313)
    at $b (http://localhost/libFile/angular.min.js:81:301)
    at http://localhost/libFile/angular.min.js:82:216
    at n (http://localhost/libFile/angular.min.js:7:322)
    at ed (http://localhost/libFile/angular.min.js:82:198)
    at c (http://localhost/libFile/angular.min.js:83:382)
    at http://localhost/libFile/angular.min.js:119:302
    at m.$get.m.$eval (http://localhost/libFile/angular.min.js:134:83)
    at m.$get.m.$digest (http://localhost/libFile/angular.min.js:131:106)

下面是带有Angular表达式的html模板。这里没有错误

<html ng-app="nameApp">
<head>
  <meta charset="utf-8">
  <script src="http://localhost/libFile/angular.min.js">
  </script>
  <script>
  var nameApp = angular.module('nameApp',[]);
    nameApp.controller('myController' , function($scope,$http)
    {
      $http.get('http://localhost/checkangular/art_1.json').success(function(data){
          $scope.arts = data;
      });
    });
  </script>
</head>
<body ng-controller="myController">
<ul>
  <li ng-repeat="art in arts">
   {{art.movie}} - {{art.mainChar}}
  </li>
</ul>
</body>
</html>

我的art_1.json文件。

[
  {'movie' : 'i am legand','mainChar':'Will Smith'},
  {'movie' : 'Batman Begins','mainChar' : 'Christian Bale'},
  {'movie' : 'Man of Steel', 'mainChar' : 'Henry Cavill'}
];

我浏览了寻找解决方案并且发现我可能错过了$ http服务或我没有导入的模块中的参数。在在线教程中,它们就像它们一样,并且适用于它们。

我正在使用AngularJS v1.4.0库
请在这里建议我解决方案

1 个答案:

答案 0 :(得分:1)

那是因为它的JSON无效。 JSON使用"代替',并且它不会以;结尾。

您可以使用JSONLint之类的工具进行验证。您还可以阅读JSON及其语法。另外,不要手工构建JSON。这很容易出错。