来自这个工作示例:http://jsfiddle.net/h22f7596/,我试图在AngularJS中显示我自己的OData服务中的json文件的内容。
HTML:
<div ng-repeat="Adressen in results">
{{Adressen.Street}}
<strong style="float:right">
{{Adressen.PLZ}}
</strong>
</div>
</div>
JS:
var myModule = angular.module("MyModule",['ODataResources']);
myModule.controller("MyController",function($scope,$odataresource){
$scope.results =
$odataresource("https://xsgeos0015309874trial.hanatrial.ondemand.com/s0015309874trial/xsgeo/geotabelle/geoDB/GeotabelleODataService.xsodata/Adressen", [],
{
odata:{
method: 'GET',
isArray: true,
transformResponse: function (data) {
return angular.fromJson(data).value;
}
}
})
.odata()
.format("json")
.filter("Street", "Kölner Straße")
.filter("Hausnummer", "22")
.take(5)
.query();
});
我不知道为什么没有显示数据,因为在Chromes控制台中,我可以看到OData请求已成功传输,但它不会显示在我的控制器中,当我查看console.log时($ scope.results)它向我展示了一个空数组。
请看一下我的例子并告诉我我做错了什么:http://jsfiddle.net/h22f7596/123/
提前谢谢。
/ edit:更新了小提琴。
答案 0 :(得分:1)
您访问的数据错误。如果您打印了您将看到的整个对象:
Object: {
d: {
results: {
....
}
}
}
将您的回报更改为:
return angular.fromJson(data).d.results