java를 사용하는 angularjs에서 페이지를 새로 고친 후 세션을 유지하려고합니다. 나는 많은 예를 보았지만 정확하게 찾고있는 해결책을 찾지 못했습니다. 아래의 로그인 코드 조각을 찾으십시오. 로그인 버튼을 클릭하면 LoginController에서 loginUser() 함수가 호출됩니다. 페이지를 새로 고치면 LoginController로 이동하지만 loginUser() 함수 내부로는 들어 가지 않습니다.페이지를 새로 고침 할 때 angularjs의 함수를 호출하는 방법
내 지식에 따르면 기능을 호출하기 전까지는 내부에 들어 가지 않습니다. 새로 고침을하면 loginUser() 함수를 어떻게 다시 호출 할 수 있습니까?
나를 도우십시오. 감사합니다. 많이 감사드립니다.
LoginController.js
function LoginController($scope, $http, $location, $rootScope,
userService, SessionIdService) {
$scope.user = {};
$scope.user.username = '';
$scope.user.password = '';
$rootScope.loginUser = function(username, password) {
$scope.resetError();
$http.post('/user/main/login/' + username, password).success(
function(login) {
if (login.sessionId === null) {
$scope.setError(login.status);
return;
} else {
$rootScope.userlogin = login.uname;
userService.setUserName(login.uname);
SessionIdService.setSessionId(login.sessionId);
$location.path("/home");
}
}).error(function() {
$scope.setError('Invalid user/password combination');
});
};
$scope.resetError = function() {
$scope.error = false;
$scope.errorMessage = '';
};
$scope.setError = function(message) {
$scope.error = true;
$scope.errorMessage = message;
$rootScope.sees = '';
$rootScope.userlogin = '';
};
};
는 app.js
app.run(function($rootScope, $location, SessionIdService) {
$rootScope.$on("$routeChangeStart", function(event, next, current) {
console.log("Routechanged... ");
if (SessionIdService.getSessionId == "true") {
if (next.templateUrl == "scripts/views/homescreen.html") {
$location.path("/home");
} else {
$location.path("/screen");
}
}
});
});
login.html
<input name="textfield" type="text" ng-model="user.username"/>
<input name="textfield" type="password" ng-model="user.password"/>
<button type="button" ng-lick="loginUser(user.username,user.password)">Login</button>
로그인을 완료 한 후 페이지를 새로 고치는 것에 대해 이야기하고 있습니까? 이전의 경우 username \ password를 다시 입력하고 새로 고침을 한 후 다시 버튼을 클릭해야합니다. – Chandermani
로그인 후, 사용자 홈페이지에서 새로 고침 할 때 사용자 데이터를 유지 관리 할 수 없습니다. – pravy89