我正在尝试将登录逻辑移动到服务..但我不知道如何将登录详细信息传递给服务。
我有:
$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});
}
};
});
...但是当用户点击登录
时,请将userNameVar
和passwordVar
替换为用户详细信息
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})
答案 0 :(得分: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);
});
};
};