javascript - Angular 语法错误 : Unexpected token }

标签 javascript ruby-on-rails angularjs coffeescript

我花了一个小时尝试调试这个,但我完全不知道为什么这是错误的。

我一直在尝试根据从 json 文件检索的数据使用 Angular 在页面上显示一行图像。然而,Angular 一直给我这个错误:

SyntaxError: Unexpected token }
    at Object.parse (native)
    at fromJson (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:1076:14)
    at defaultHttpResponseTransform (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8651:16)
    at http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8736:12
    at forEach (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:327:20)
    at transformData (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8735:3)
    at transformResponse (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:9465:23)
    at processQueue (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:13293:27)
    at http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:13309:27
    at Scope.$get.Scope.$eval (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:14548:28)

这是我的代码

HTML:

<div id="officersPage" class="row" ng-app="officers" ng-controller="officerCtrl">
    <div id="officerModals" class="col-md-4" ng-repeat="officersOne in officersGroup">
        <div class="officerPics" ng-repeat="officer in officersOne">            
            <%= image_tag('logo.png', :id=>"{{officer.id}}", size: '140x140', :class=>"img-responsive, img-thumbnail") %>   

        </div>
    </div>
    <div id="moreDetails" class="col-md-4">
    </div>
</div>

Angular 代码:

# Contains the Angular code for the officer page -> will generate all the pictures and modals based on info through JSON file
app = angular.module('officers', [])

app.controller 'officerCtrl', [
    '$scope'
    '$http'
    ($scope, $http) ->
        $http.get('./officers.json').success (data) ->  
            console.log(data)
            $scope.officersGroup = data 
            console.log($scope.officersGroup)   
        return
]

任何帮助都会很棒!

编辑:JSON 文件示例如下:

{
  "officers": [
    {
        "name": "Matt Zhang",
        "role": "Webmaster",
        "class": "2018",        
        "id" : "matt"
    }
  ]
}

最佳答案

只是一个猜测,当你分配时:

$scope.officersGroup = data 

不应该吗?

$scope.officersGroup = data.officers

这是代码中的第一次迭代。那么在第二次迭代中,您是否使用 ng-repeat 来迭代对象的属性?如果是这样,我认为这不是最好的方法。

<div class="officerPics" ng-repeat="officer in officersOne">

干杯

关于javascript - Angular 语法错误 : Unexpected token },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043269/

相关文章:

javascript - 为什么在我的 Angular 2 应用程序中发送的是 OPTIONS 请求而不是 PUT?

ruby-on-rails - Rails 按键对哈希数组进行分组

ruby-on-rails - rails : Case insensitive params hash keys?

javascript - AngularJS - 指令在模型更新后不触发

javascript 给出意想不到的结果

javascript - 我无法用纯 JavaScript 获得元素的准确高度

javascript - 如何让 HTML5 视频在加载完成后淡入淡出?

ruby-on-rails - Ruby 中二维数组中超出范围的值

javascript - 创建登录页面的更好方法

javascript - 您如何称呼 Angular 中的这种结构或编码方式?