angular ajax的使用及controller與service分層

一個簡單的例子,控制層:
.controller('publishController',['$scope','publishService', function($scope,publishService){ publishService.getData().then( function(answer){ $scope.data = answer.data; console.info(answer); }, function(error){ $scope.error = error; } ); }])

  服務層:javascript

app.service('publishService',['$http','$q',function($http,$q){
return {
	getData:function(){
        var deferred = $q.defer();
        var promise = $http.post(url);
         promise.then(
                  // 通信成功的處理
                  function(answer){
                    //在這裏能夠對返回的數據集作必定的處理,再交由controller進行處理
                    answer.status = true;
                    deferred.resolve(answer);
                  },
                  // 通信失敗的處理
                  function(error){
                    // 能夠先對失敗的數據集作處理,再交由controller進行處理
                    error.status = false;
                    deferred.reject(error);
                  });
                //返回promise對象,交由controller繼續處理成功、失敗的業務回調
        return deferred.promise;
    }
}
}]);

  app:java

var app = angular.module("myApp", ['ngAnimate','ngRoute']);
相關文章
相關標籤/搜索