Выход из AngularJS не работает

0

Я попробовал выйти из текущего сеанса. Но выход не работает. Проверьте ниже мой код:

Посмотреть

<a ui-sref="logout">
   <i class="fa fa-sign-out"></i> Log out
</a>

config.js

$stateProvider
            .state('logout', {
                url: "/logout",
                templateUrl: '',
                controller: "LogoutController"
            });

controllers.js

function LogoutController($location, $http) {
    alert("hi");
    //Session.clear();
    var request = $http({
        method: "post",
        url: "users/ajaxLogout",
        dataType: 'json',
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    });
    request.success(function(data) {

    });
    $location.path('/login');
}

angular
   .module('inspinia')
   .controller('MainCtrl', MainCtrl)
   .controller('LogoutController', LogoutController);

Я получил предупреждение в LogoutController но эта функция не вызывается, пока я LogoutController ссылку " Log out.

Я следую этой ссылке - Угловой - маршрут перенаправления выезда Пожалуйста, проверьте и сообщите мне, где ошибка в моем коде.

  • 1
    Смотрите минимальный воспроизводимый пример . Объясните, что именно не работает.
  • 0
    В чем здесь проблема?
Показать ещё 2 комментария
Теги:

2 ответа

2
Лучший ответ

Поместите код выхода из функции в контроллер:

function LogoutController($location, $http, $scope) {

    this.logout = function() {
        alert("hi");
        //Session.clear();
        var request = $http({
            method: "post",
            url: "users/ajaxLogout",
            dataType: 'json',
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        });
        request.success(function(data) {
            $location.path('/login');
        });

    }
}

Затем вызовите функцию, щелкнув ссылку выхода из системы, используя ng-click:

<div ng-controller="LogoutController as ctrl">
<a ui-sref="logout">
   <i class="fa fa-sign-out" ng-click="ctrl.logout()"></i> Log out
</a>
</div>
  • 0
    Ваш код работает. Но я получаю еще одну ошибку. После входа на страницу автоматически выйдите из системы, не нажимая на ссылку выхода. :(
  • 0
    Я не уверен, нужен ли $ stateProvider для выхода из системы. Посмотрите, не вызывает ли это ошибки. Также, пожалуйста, смотрите обновленный код. Я поместил $ location.path ('/ login'); под функцией request.sucess ().
Показать ещё 1 комментарий
0

проверьте в консоли, что вы получаете ошибку и пытаетесь

  angular .controller('LogoutController', function($scope,$state,$location,$ionicHistory, $http) {
    console.log("hello");
     $state.go('app.login');
     $ionicHistory.clearCache();
    };
  • 0
    Пожалуйста, укажите ваш ответ, если вы проголосовали против.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню