0

我正在尝试将我的登录逻辑移动到服务..但我不知道如何将登录详细信息传递给服务。

我有:

$scope.login = function (login_username, login_password) {
    $http.post('/login', {userName: login_username, password: login_password}).success(function(response) {
        ....
    });
});

我正在尝试做的事情:

1. 有一项服务可以查看详细信息并获取用户的个人资料...

app.factory('userProfile', function($http) {
  return {
    getUserProfile: function() {
      return $http.post('/login',{userName: userNameVar, password: passwordVar});
    }
  };
});

...但是当用户点击登录时,用用户详细信息替换userNameVarpasswordVar

function appCtrl($scope, userProfile) {
    $scope.login = function (login_username, login_password, rememberMe) {
        userProfile.getUserProfile().success(function(profile) {
            $scope.uProfile = profile;
            console.log($scope.uProfile);
        });
    };
};

我试着{userName: login_username, password: login_password}userProfile.getUserProfile()这样插入userProfile.getUserProfile({userName: login_username, password: login_password})

4

1 回答 1

4

将服务中的功能更改getUserProfile为:

app.factory('userProfile', function($http) {
  return {
    getUserProfile: function(userNameVar, passwordVar) {
      return $http.post('/login',{userName: userNameVar, password: passwordVar});
    }
  };
});

然后你的控制器看起来像:

function appCtrl($scope, userProfile) {
    $scope.login = function (login_username, login_password, rememberMe) {
        userProfile.getUserProfile(login_username, login_password).success(function(profile) {
            $scope.uProfile = profile;
            console.log($scope.uProfile);
        });
    };
};
于 2014-02-14T10:08:33.260 回答