Невозможно разрешить страницу, используя значение, хранящееся в localstorage - PullRequest
0 голосов
/ 07 апреля 2019

Я работаю над кодом angularjs, где я создал фабричный метод для перенаправления пользователя на страницу профиля после успешного входа в систему и обновил переменную flag в фабричном методе.Свойство resol, которое я прикрепил к маршруту, не работает должным образом, и кажется, что переменная islogged не читает значение, полученное из localstorage.

  .when('/Login',{
    templateUrl: "/views/login.html",
    controller: "logctrl",
    })

  .when('/Profile',{
        templateUrl: "/views/profile.html",
        resolve: ["authService",function(authService){
            return authService.checkstatus();
        }]
    });
});

app.factory("authService",function($location){
    return {
        "islogged" : localStorage.getItem("islog"),
        checkstatus :function() {
            if(this.islogged)
                return true;
            else
                $location.path(['/Login']);
                return false;
        }

    }
});

Это контроллер для входа в систему:

app.controller('logctrl',function($scope,$http, $location){
    localStorage.setItem("islog",false);
    $scope.log = function(){ 
        var uname = $scope.username;
        var pass = $scope.password;
        var logobj = {
            "username" : uname,
            "password" : pass
        };  

        $http.post("http://localhost:3000/sign",logobj).then((resp)=>{
            $location.url(resp.data);
            localStorage.setItem("islog",true);
        }).catch((err)=>$location.url("/"));
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...