Javascript 打开链接到选项卡重定向到登录页面,而不是给定的url

Javascript 打开链接到选项卡重定向到登录页面,而不是给定的url,javascript,angularjs,routing,angular-ui-router,Javascript,Angularjs,Routing,Angular Ui Router,我和angularjs一起工作。当我右键点击链接并打开它到新的标签,然后它重定向到登录页面,而不是给定的url <ul class="nav nav-sidebar"> <li><a ui-sref="dashboard"><i class="icon-home"></i><span>Dashboard</span></a></li> <li class="nav-p

我和angularjs一起工作。当我右键点击链接并打开它到新的标签,然后它重定向到登录页面,而不是给定的url

<ul class="nav nav-sidebar">
    <li><a ui-sref="dashboard"><i class="icon-home"></i><span>Dashboard</span></a></li>
    <li class="nav-parent">
        <a><i class="icon-external-link"></i><span>Masters</span> <span class="fa arrow"></span></a>
        <ul class="children collapse">
            <li><a ui-sref="dashboard.masters_userroles"> User Roles</a></li>
            <li><a ui-sref="dashboard.masters_countries"> Countries</a></li>
            <li><a ui-sref="dashboard.masters_states"> States</a></li>
            <li><a ui-sref="dashboard.masters_cities"> Cities</a></li>
            <li><a ui-sref="dashboard.masters_departments"> Departments</a></li>
        </ul>
    </li>
    <li><a ui-sref="dashboard.ticket"><i class="icon-ticket"></i><span>Ticket</span></a></li>
    <li class="nav-parent">
        <a><i class="icon-tasks"></i><span>Manage</span> <span class="fa arrow"></span></a>
        <ul class="children collapse">
            <li><a ui-sref="dashboard.people">People</a></li>
        </ul>
    </li>
</ul>
//此文件中没有run方法

app.run( function ( $rootScope, $state, $location, $window) {
var vm = $rootScope;
$rootScope.$on('$stateChangeSuccess', function() {
    if($window.sessionStorage["userInfo"])
    {
        $rootScope.currentUser = JSON.parse($window.sessionStorage["userInfo"])["currentUser"]["data"];
    }
    var currentState = $state.current.name.split(".");
    vm.datapage = currentState[currentState.length - 1];
    if (angular.isDefined($state.current.data)) {
        vm.bodyClasses = $state.current.data.bodyClasses;
    }
    var allowedStates = ["signup"];
    if(!$window.sessionStorage.getItem('userInfo') && !(allowedStates.includes($state.current.name)))
        $state.go("login");
});

$rootScope.$on('$stateChangeError', function(evt, toState, toParams, fromState, fromParams, error) {
    if (error.authenticated == false) {
        $state.go("login");
    }
});
});
当我打开这些链接到另一个选项卡时,它会重定向到登录页面。那么,我如何解决这个错误呢

注意:在这里,每个请求都有一个头部,其中设置了令牌。如果未设置令牌,则会重定向到登录页面。这是每个请求的逻辑

<li><a ui-sref="dashboard.masters_userroles"> User Roles</a></li>
您没有使用ui sref从以下位置传递任何令牌值:

ui sref 绑定链接方法的指令。点击链接 将使用可选参数触发状态转换。而且 在链接上单击鼠标中键、单击鼠标右键和按住ctrl键将被选中 由浏览器本机处理

该指令更新href属性,因此不能在同一标记中设置它

将更改为:

<a href="..." ui-sref="...">


从该ui sref中删除所有href标记,并确保状态名称与您定义的相同。同时提供您的状态名称是的,我已删除href attribute,并清除cookies和重新加载页面,尝试将其打开到新页面,但它会重定向到登录页面。这意味着ui sref中的状态错误。请提供您的app.copnfig和状态值扫描您直接访问这些url??1.试试看。。然后检查非授权url是否工作。。是的,当我单击url时,它工作正常,但无法在新选项卡中打开。我已按您所说进行了设置,但不会在新选项卡中打开。它将重定向到登录页面。@NisargBhavsar您的状态可能错误,并重定向到默认页面。检查我更新的问题。这里还有run方法。当我对这个方法进行注释时,它会重定向到给定的url,但不会显示任何内容。
ui-sref="dashboard.masters_userroles({bodyClasses: 'tokenvalue'})"
<a href="..." ui-sref="...">
<a ui-sref="...">