Что мне нужно, чтобы щелкнуть ссылку выхода из системы,
мы вызываем метод выхода из службы AuthService, чтобы очистить данные cookie, после чего пользователь должен быть перенаправлен на страницу входа.
Но похоже не работает. страница остается на странице /logout, и пользователю необходимо обновить страницу, чем перейти на страницу /login. почему так?
вот мой соответствующий код
.state("logout", {
url: '/logout',
data: {
requiresAuth: true
},
controller:['$state', 'AuthService', function($state, AuthService) {
AuthService.logout();
$state.transitionTo('login', null, { reload :true});
}]
})
и вот соответствующий метод AuthService
app.factory('AuthService', function($log, $http, $q, $cookies){
authService.logout = function () {
var deferred = $q.defer();
$http({
method: "GET",
url: '/app/logout.json'
}).then(function(result) {
$cookies.remove('currentUser');
deferred.resolve(result);
}, function(error) {
deferred.reject(error);
});
return deferred.promise;
};
});
Примечание. Когда я пишу /logout в URL-адресе и нажимаю его, он переходит на страницу входа.
.then
решение работает как шарм 28.07.2016