2014-01-16 3 views
1

Я только начал использовать AngularJS для динамического отображения данных json на веб-страницах. Я использовал ng-repeat с внешним json-файлом, который был просто прекрасен раньше, но когда я добавляю данные перед массивом, он больше не работает в IE и хром, но показывает в firefox с ошибкой firebug. Я считаю, что мой синтаксис прав, но, очевидно, что-то не так, и я не могу понять это.AngularJS «не правильно сформирован», но все еще отображается в firefox

Вот мой точный код:

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, я просто не знаю, что случилось.

+0

что ошибка синтаксиса вы получите от поджигатель – Brad

+0

может быть таким же источником проблема с безопасностью исходного кода - что объясняет различное поведение разных браузеров. –

+0

Брэд: Как раз добавить, что firebug говорит, что он не очень хорошо сформирован на dummy.json line 1 char 1 Билли Мун: Я не уверен, что это проблема, поскольку у меня в значительной степени есть дубликат этого, только с данными массив в json, который работал каждый раз в обязательном порядке. Единственная разница заключается в добавлении полей имени перед записями. – farraman

ответ

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 
    }] 
}; 

} 
Смежные вопросы