Ich versuche angularjs zu lernen, und habe einen Block bei dem Versuch, zu einem von einer Rest API zurückgelieferten Array zu databinden. Ich habe eine einfache azurblaue API, die eine Reihe von Personenobjekten zurückgibt. Service-URL ist http://testv1.cloudapp.net/test.svc/persons.
Mein Controller-Code wie folgt aussieht:
angular.module("ToDoApp", ["ngResource"]);
function TodoCtrl($scope, $resource) {
$scope.svc = $resource('http://testv1.cloudapp.net/test.svc/persons', {
callback: 'JSON_CALLBACK'
}, {
get: {
method: 'JSONP',
isArray: true
}
});
$scope.items = $scope.svc.get();
$scope.msg = "Hello World";
}
Meine html wie folgt aussieht:
<html>
<head></head>
<body>
<div ng-app="ToDoApp">
<div ng-controller="TodoCtrl">
<h1>{{msg}}</h1>
<table class="table table-striped table-condensed table-hover">
<thead>
<th>Email</th>
<th>First Name</th>
<th>Last Name</th>
</thead>
<tbody>
<tr ng-repeat="item in items">
<td>{{item.Email}}</td>
<td>{{item.FirstName}}</td>
<td>{{item.LastName}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
Frage: Die Tabelle in über HTML ist keine Daten angezeigt werden. Ich kann den Aufruf der API in Firebug sehen, und kann auch die JSON-Antwort von der API sehen. Was mache ich falsch, dass die Datenbindung zur REST API nicht funktioniert?
PS: JSFiddle dieses Problem zu demonstrieren ist: http://jsfiddle.net/jbliss1234/FBLFK/4/
Der isArray-Parameter ist bereits vorhanden. Die Einstellung auf "True" oder "False" hat in diesem Fall keine Auswirkungen. Können Sie sich bitte die JSFiddle ansehen und beraten, was genau getan werden muss, um die Daten zu binden? Danke –