2015-12-14 6 views
8

HtmlCome cancellare la memorizzazione locale dopo il logout utilizzando angularjs codice

<div><a href="#/logout"><h2>Log Out</h2></a></div> 

mio instradamento

app.config([ '$routeProvider', function($routeProvider) { 

    $routeProvider.when('/', { 
     templateUrl : 'app/components/login/Login.html', 
     controller : 'loginCtrl' 

    }).when('/register/', { 
     templateUrl : 'app/components/register/register.html', 
     controller : 'registerController' 
    }).when('/welcome/', { 
     templateUrl : 'app/components/welcome/welcome.html', 
     controller : 'welcomeController' 
    }).when('/home', { 
     templateUrl : 'app/components/home/home.html', 
     controller : 'homeController' 
    }).when('/homeView', { 
     templateUrl : 'app/components/home/homeView.html', 
     controller : 'homeController' 
    }).when('/graph', { 
     templateUrl : 'app/components/home/graphView.html', 
     controller : 'LineCtrl' 
    }).when('/logout', { 
     templateUrl : 'app/components/login/Login.html', 
     controller : 'logoutCtrl' 
    }).otherwise({ 
     redirectTo : "/" 
    }); 
} ]); 

controller Logout

app.controller('LogoutController',function($location,$scope){ 
     $location.path('/'); 
}); 

Sta funzionando bene e dopo il logout va alla pagina di login e se premo il tasto indietro anche esso non reindirizzerà all'ultima pagina ma penso che questo non sia il modo corretto in cui sto lavorando e non sto cancellando la memoria locale durante il logout, I attaccato con il modo di cancellare i valori di storage locali con logout, Please help me sono nuovo di angularjs

controller di login in cui sono impostati i valori di localStorage

$scope.login = function() { 
     $scope.empData=[] 

     $scope.empData = loginService.get('http://183.1.1/HospitalManagementSystem/Service1.svc/LoginVerification/' + $scope.emailId + '/' + $scope.password); 

     $scope.empData.then(function (empData) { 
      console.log($scope.empData) 
      /*if (empData !== undefined && empData !== null){ 
       if(empData._statusCode === constants.statusCode) {*/ 
        if (empData.LoginVerificationResult.length === 0) { 
         console.log('Employee details are not Available'); 
        } else { 
         $rootScope.name=empData.LoginVerificationResult[0].UserName; 


         localStorage.setItem("Role ID",empData.LoginVerificationResult[0].RoleID); 
         localStorage.setItem("UserId",empData.LoginVerificationResult[0].UserId); 
         localStorage.setItem("UserName",empData.LoginVerificationResult[0].UserName);      
            $location.path('/welcome') 
        } 
     }); 
    }; 

LoginService

app.service('loginService', [ '$http', function($http) { 

    this.get = function(path) { 
     var data = $http.get(path).then(function(response) { 
      return response.data; 
     }); 
     return data; 
    }; 

} ]); 
+0

Si sta utilizzando questo https://github.com/grevory/angular-local-storage o cosa? –

+0

@Michelem No non sto usando – Sudhir

+0

Che cosa stai usando? Aggiungi codice rilevante per favore. –

risposta

12

Credo che è necessario solo un localStorage.clear(); nel controller di logout:

app.controller('LogoutController',function($location, $scope, $window){ 
    $window.localStorage.clear(); 
    $location.path('/'); 
}); 
+0

Grazie a @Michelem ho una risposta – Sudhir

Problemi correlati