2017-02-01 31 views
0

我的控制器從工廠獲得{「$$ state」:{「status」:0}}而不是工廠應該傳遞的值。我如何從工廠獲得價值?控制器nto獲取工廠的返回值

這裏是我的controller.js代碼:

.controller('omnipayLoginCtrl', ['$scope', '$stateParams', '$location', 'userFactory', function ($scope, $stateParams, $location, userFactory) { 
$scope.userdata = {} 
$scope.enterlogin = function(usern,pass) { 
    alert('get = '+ JSON.stringify(userFactory.getUser(usern))); 
} 
}]) 

這裏是我的services.js代碼:

.factory('userFactory', ['$http', function($http) { 
var users = []; 

return { 
    getUser: function(uname){ 
     return $http.get("http://10.10.9.169/UserService/api/users/" + uname).then(function(response){ 
      if(response.data == null) 
      { 
       users = null; 
      } 
      else 
      { 
       users = response.data; 
      } 
      return users; 
     }); 
     } 

}; 
}]) 

回答

0

試圖捕捉控制器,而不是廠家的承諾。

.factory('userFactory', ['$http', function($http) { 
     var users = []; 
     return { 
      getUser: function(uname) { 
       return $http.get("http://10.10.9.169/UserService/api/users/" + uname) 
      } 
     }; 
    }]) 
    .controller('omnipayLoginCtrl', ['$scope', '$stateParams', '$location', 'userFactory', function($scope, $stateParams, $location, userFactory) { 
     $scope.userdata = {} 
     $scope.enterlogin = function(usern, pass) { 
      userFactory.getUser(usern).then(function(response) { 
       alert('get = ' + JSON.stringify(response.data)); 
      }) 
     } 
    }]) 
+0

我嘗試過,但我得到了一個空白頁面,但.. –

+0

@Sydnie■檢查控制檯的任何錯誤 –

+0

我只是錯過了一個括號。謝謝。 –