AngularJS中的OData返回空数组

时间:2016-07-18 19:49:26

标签: angularjs odata

来自这个工作示例: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:更新了小提琴。

1 个答案:

答案 0 :(得分:1)

您访问的数据错误。如果您打印了您将看到的整个对象:

Object: {
    d: {
        results: {
            ....    
        }
    }
}

将您的回报更改为:

return angular.fromJson(data).d.results

小提琴:http://jsfiddle.net/h22f7596/124/