AngularJS“形式不太好”,但仍然在firefox中出现

时间:2014-01-16 22:33:29

标签: javascript json angularjs angularjs-ng-repeat

我刚刚开始使用AngularJS在网页上动态显示json数据。我之前使用了外部json文件的ng-repeat,但是当我在数组之前添加数据时,它不再适用于IE和chrome,但在firefox中显示出一个firebug错误。我相信我的语法是正确的,但显然有些不对劲,我无法弄明白。

这是我的确切代码:

HTML

<html ng-app>
  <script src="angular.min.js"></script>
  <script src="dumctrl.js"></script>
  <head>
    <title>AngularJS Dummy Page</title>
  </head>
  <body ng-controller="AppCtrl">
    <table border="1px">
      <tr>
        <th>{{log.name}}</th>
        <th>{{log.xname}}</th>
        <th>{{log.yname}}</th>
      </tr>
      <tr>
        <th>ID</th>
        <th>X</th>
        <th>Y</th>
      </tr>
      <tr ng-repeat="entry in log.entries">
        <td>{{entry.id}}</td>
        <td>{{entry.x}}</td>
        <td>{{entry.y}}</td>
      </tr>
    </table>
  </body>
</html>

dumctrl.js

function AppCtrl($scope, $http) {
  $http.get('dummy.json').success(function(data) {
    $scope.log = data;
  });
}

dummy.json

{
  "name":"dummy",
  "xname":"xdummy",
  "yname":"ydummy",
  "entries":[
    {
      "id":0,
      "x":0,
      "y":0
    },
    {
      "id":1,
      "x":1,
      "y":0
    }
  ]
}

json已经过验证,它显示了ff中的预期输出,我只是不知道出了什么问题。

1 个答案:

答案 0 :(得分:0)

我认为问题在于[{}]

之间的空格

我刚刚创建了一个JSFiddle,它运行良好:

var myApp = angular.module('myApp',[]);
function myCtrl($scope)
{    
    $scope.log = {
  "name":"dummy",
  "xname":"xdummy",
  "yname":"ydummy",
  "entries":[{
      "id":0,
      "x":0,
      "y":0
    },
    {
      "id":1,
      "x":1,
      "y":0
    }]
};

}