为什么在此代码中 - > JSON get with angular and PHP,服务返回一个空数组,但如果我写:
angular.module('pageModule')
.factory('pageService', function($http){
var pagesArray = new Array();
return{
pagesArray: pagesArray,
load: function(){
$http.get('../angCMS/server/php/page.php')
.success(function(res){
pagesArray.push(res);
});
}
};
});
控制器:
angular.module('pageModule')
.controller('pageController', ['$scope', 'homeService', 'pageService', function($scope, homeService, pageService){
$scope.pages = pageService.pagesArray;
pageService.load();
}]);
一切都很棒?
答案 0 :(得分:0)
你为什么不等待电话会议。利用$ http返回的承诺。
厂:
imageButton
控制器:
// Original
angular.module('pageModule')
.factory('pageService', function($http){
var pagesArray = new Array();
return{
pagesArray: pagesArray,
load: function(){
$http.get('../angCMS/server/php/page.php')
// Success is deprecated use then and catch
.success(function(res){
pagesArray.push(res);
});
}
};
});
// Changed
angular.module('pageModule')
.factory('pageService', function($http){
var pagesArray = new Array();
return{
pagesArray: pagesArray,
load: function(){
return $http.get('../angCMS/server/php/page.php')
.then(function(res){
pagesArray.push(res);
return pagesArray;
});
}
};
});