AngularJS和PHP通信服务

时间:2016-06-18 09:52:14

标签: javascript php angularjs json

为什么在此代码中 - > 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();

}]);

一切都很棒?

1 个答案:

答案 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;
      });
    }
  };
});