1. 创建一个Service,去服务器读取数据:
- ngApp.factory(‘UserInfo‘, [‘$http‘, ‘$q‘, function ($http, $q) {
- return {
- query : function() {
- var deferred = $q.defer();
- $http({method: ‘GET‘, url: ‘scripts/mine.json‘}).
- success(function(data, status, headers, config) {
- deferred.resolve(data);
- }).
- error(function(data, status, headers, config) {
- deferred.reject(data);
- });
- return deferred.promise;
- }
- };
- }]);
2. 在Controller上(以同步方式)使用这个Service:
- angular.module(‘ngApp‘)
- .controller(‘MainCtrl‘, [‘$scope‘, ‘UserInfo‘, function ($scope, UserInfo) {
- var promise = UserInfo.query();
- promise.then(function(data) {
- $scope.user = data;
- }, function(data) {
- $scope.user = {error: ‘用户不存在!‘};
- });
- }]);