gpt4 book ai didi

javascript - AngularJS 中的重定向无法部分工作

转载 作者:行者123 更新时间:2023-11-27 23:09:21 25 4
gpt4 key购买 nike

我在 angularJS 中遇到重定向问题。

例如,当用户登录时,它工作得很好。如果用户登录(信息存储在本地存储中),它会自动将他重定向到我的“/仪表板”。

但是当用户注销时,它没有正确重定向,而是转到' http://localhost/ngJS/index.php# '而不是我告诉他的任何其他事情。我做错了什么?

ngJS 是我的项目根文件夹,index.php 只是一个包含我的库和代码包含的容器。我在本地服务器 XAMMP 上运行网站。

mainAppMdl.js

var app = angular.module('mainApp', ['ngRoute']);
/*
* Configuration for redirecting
* @param {type} $routeProvider
*/
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
//WORKING
.when('/', {resolve: {
"check": function ($location) {
if (localStorage.getItem('usr') &&
localStorage.getItem('usr') !== '0') {
$location.path('/dashboard');
}
}
},templateUrl: 'pages/cover.html'
})
//WORKING LOADING THE CONTROLLER SUCCESSFULLY
.when('/dashboard', {
resolve: {
"check": function ($location) {
if (localStorage.getItem('usr') === '0') {
$location.path('/');
}}},
templateUrl: 'pages/dummy.html',
controller: 'logoutCtrl'
})
.when('/login', {
templateUrl: 'pages/login/login.html',
controller: 'loginCtrl'
})
.when('/logout', {redirectTo: '/'})
.otherwise({redirectTo: '/'});
}]);

注销Ctrl

app.controller('logoutCtrl', function ($scope, $rootScope, $location, $log) 
{

$log.log('logoutCtrl');
$log.log($scope);
$scope.message = $rootScope.message;

$scope.logout = function () {
if (typeof (localStorage) !== 'undefined') {
localStorage.setItem('usr', 0);
// NOT WORKING --------------------- redirect
$location.path('/');
// WORKING AND PRINTING ---------------------
console.log('redirecting!');

}
/* No localstorage support */
else {
alert("Tut uns leid. Localstorage wird nicht unterstützt");
}
};

});

注销模板.php

<section class="bg-success text-info" id="horizontal-nav-pills" >
<nav>
<ul class="nav nav-pills nav-justified">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#/new-report"><span class="glyphicon glyphicon-plus"></span> Bericht</a></li>
<li role="presentation"><a href="#"><span class="glyphicon glyphicon-chevron-left"></span></a></li>
<li role="presentation"><a href="#"><span class="glyphicon glyphicon-chevron-right"></span></a></li>
<li role="presentation" ><a href="#" ng-click="logout();">Logout</a></li>
</ul>
</nav>
</section>
<!--end horizontal-nav-pills-->

最佳答案

而不是使用:

<a href="#" ng-click="logout();">Logout</a>

用途:

<a href="javascript:void(0);" ng-click="logout();">Logout</a>

关于javascript - AngularJS 中的重定向无法部分工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36304247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com