나는 angularjs를 사용하는 응용 프로그램에서 작업하고 있습니다. 이 홈페이지 페이지로 이어지는 로그인 페이지가 있습니다. 로그인 페이지는 loginCtrl에 의해 관리되며, loginService을 더 사용합니다.angularjs 페이지 간의 데이터 전달
이 loginctrl입니다 (로그인 컨트롤러)
'use strict';
angular.module('dreamflow').controller('LoginCtrl', ['$scope', 'LoginService',
function($scope, LoginService) {
$scope.title = "Login";
$scope.master = {}
$scope.login = function() {
var user = {
username: $scope.username,
password: $scope.password
};
LoginService(user);
};
}
]);
이 응답의 성공을 확인 후오고 위의 코드를 사용자의 세부 정보
angular.module('dreamflow')
.factory('LoginService', function($http, $location, $rootScope) {
return function(user) {
$http.post('/login',{
username: user.username,
password: user.password
}).then(function(response) {
if (response.data.success) {
console.log(response.data);
$rootScope.user = response.data.user;
$location.url('/');
} else {
console.log(response.data.errorMessage);
$location.url('/');
}
});
};
});
loginService
이며, 우리는 집으로 리디렉션됩니다 페이지. 홈 페이지 각도 컨트롤러에서 $ rootScope.user에있는 사용자 세부 정보에 액세스하려고합니다.
당신은 당신의 홈 페이지의 컨트롤러에서 LoginService을 가진하여 rootScope을 사용하지 않도록 할 수있다. 그런 다음 홈 페이지의 컨트롤러는 데이터가 들어올 때 response.data.user에 즉시 액세스 할 수 있습니다. – PenguinSource
예, 시도했지만 사용자 데이터에 성공적으로 액세스 할 수 없습니다. 더 자세한 방법을 설명 할 수 있습니까? – ashishkumar148
나는 또한 동일한 문제에 직면하고있다. 컨트롤러는 하나의 각진 모듈 앱에 없지만 두 개의 다른 앱에있다. – ritesh