私はログアウトページの問題に直面しています。ログアウトオプションがページからクリックされると、ログインページがロードされなければならず、ユーザーがブラウザの前のページ矢印をクリックしようとしても、表示する必要があります。私は解決策を与えなかった$window.location.reload();
とsessionStorage.clear();
を使って試しました。ログアウトページAngularJS
私はログインページを表示するログアウトページを持っていますが、バックページをクリックすると、以前にログインしたユーザーの詳細がすべて利用できます。以下のコードである:
のindex.html:
<body ng-app="app">
<div class=" ">
<div ui-view></div>
</div>
</body>
login.htmlと:
<form ng-submit=submit()>
<input type="text" name="username" placeholder="Username" ng-model="person.firstName" required />
<input type="password" name="pswd" placeholder="Password" ng-model="person.pswd" required />
<div class="submit">
<input type="submit" value="LOGIN">
</div>
</form>
page.html:
<ul>
<li><a ui-sref="logout">Logout</a></li>
</ul>
app.js:
var app = angular.module('app', ['ui.bootstrap', 'LocalStorageModule']);
app.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('page', {
url: '/page/:id',
templateUrl: 'page.html'
})
.state('login', {
url: '/login',
templateUrl: 'login.html',
controller: 'LoginCtrl'
})
.state('tab', {
url: '/tab/:id',
templateUrl: 'views/tab.html'
})
.state('logout', {
url: '/logout',
templateUrl: 'logout.html',
controller: 'LogoutCtrl'
});
});
app.controller('LogoutCtrl', function ($scope, $http, $location, $state) {
sessionStorage.clear();
$location.path('/login');
//this is loading login page, but if back arrow is clicked previous logged in details are present//
});
app.controller('LoginCtrl', function ($scope, $http, $location, $state) {
$scope.submit = function() {
$http.get("url" + $scope.Name + "&Password=" + $scope.pswd)
.success(function (data, status, headers, config) {
debugger
$scope.tableData = data;
console.log(data)
if (data == 'Exception') {
window.alert('You have entered wrong username or password');
}
else $state.go('tab', { id: data.Table[0].UserId });
})
}
});
要するに、ログアウト後、ログインページが表示されなければならず、ユーザーがバックページに移動しようとすると、ログインページだけが表示されます。
誰でも手伝っていただければ幸いです。
あなたはLogoutCtrl' 'のコードを投稿してくださいもらえますか?どのようにuserDetailsを保存していますか?クッキーまたはローカル/セッションストレージ内ログアウト時にこれらの詳細をどのようにクリアしていますか?ルート(またはあなたのケースでは州)の変更をチェックしていますか? –
@MridulKashyap:page.htmlはユーザーベースであり、ユーザーごとに異なります。私はpage.htmlを表示するためにログインの詳細を使用し、私はユーザーの詳細を格納するために何も使用しませんでした。 – Deborah