2016-07-18 1 views
0

, исходящий из этого рабочего примера: http://jsfiddle.net/h22f7596/. Я пытаюсь отобразить содержимое json-файла из моей собственной службы OData в AngularJS.OData in AngularJS возвращает пустой массив

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/

Спасибо заранее.

/изменить: Обновлен Fiddle.

ответ

1

Вы получили неправильные данные. Если бы вы напечатали весь объект, который вы бы видели:

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

Изменить возвращение к:

return angular.fromJson(data).d.results 

Fiddle: http://jsfiddle.net/h22f7596/124/

+0

Спасибо чувак, unbelivable сколько времени я впустую .. .. – user2671998

+0

Есть ли способ установить фильтры в $ odataresource динамически? – user2671998