Ich baue eine app Ionic Rahmen 7 AngularJSWarum ist mein Dienst nichts Rückkehr
$ ionic info
Your system information:
Cordova CLI: 6.2.0
Gulp version: CLI version 3.9.1
Gulp local:
Ionic Framework Version: 1.2.4
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS: Distributor ID: LinuxMint Description: Linux Mint 17.1 Rebecca
Node Version: v0.12.2
Die Seite mit Ich baue eine Liste von Gottesdiensten abrufen und zeigt sie in einer Master-Detail-Liste. Also habe ich den $ http-Code in einem Dienst gemäß dem folgenden Code:
services.js:
.service('ServicesService', ['$http', '$sce', function($http, $sce){
var services = [];
$http.get('http://demo0194057.mockable.io/services').then(function(response) {
services = response.data;
window.q = services; //checking value of services var
}, function(error) {
console.error("Error loading Services Endpoint! " + error);
});
return {
getAllServices: function() {
console.log('from inside return obj ' + services);
window.p = services; // checking value of services var
return services;
}
}
}])
controller.js:
.controller('servicesCtrl', function($scope, $http, ServicesService, InfoService) {
$scope.services = [];
$scope.services = ServicesService.getAllServices();
window.r = $scope.services;
$scope.doRefresh = function() {
$http.get('http://demo0194057.mockable.io/services').success(function(response) {
$scope.services = response;
})
.finally(function() {
// stop the ion-refresher from spinning
$scope.$broadcast('scroll.refreshComplete');
});
}
})
Also mein Problem ist, dass der Service ein leeres Array anstelle eines Arrays von Objekten aus der JSON-REST-API zurückgibt. Ich habe einige Debugging-Variablen in den Code geschrieben und ich kann sehen, dass der Dienst vom Controller einen leeren Array (var window.r) zurückgibt. Aus dem Service heraus ist window.p ebenfalls leer, aber window.q hat die korrekten Objektdaten, was bedeutet, dass der API-Aufruf gut funktioniert. Ich kann jedoch nicht herausfinden, wo diese Daten verloren gehen, so dass sie nicht erfolgreich vom Dienst zurückgegeben werden. Bitte
helfen
Vielen Dank! Genau das, was ich gesucht habe! – user3086325