【问题标题】:OData in AngularJS returns empty ArrayAngularJS 中的 OData 返回空数组
【发布时间】:2016-07-18 19:49:26
【问题描述】:

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

【问题讨论】:

    标签: angularjs odata


    【解决方案1】:

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

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

    将您的退货更改为:

    return angular.fromJson(data).d.results
    

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

    【讨论】:

    • 有没有办法动态设置$odataresource中的过滤器?
    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多