页面加载时重定向导致的AngularJS无限循环

AngularJS Infinite Loop caused by Redirecting on Page Load

本文关键字:AngularJS 无限循环 向导 加载      更新时间:2023-09-26

我的应用程序加载函数中有以下代码:

  var token = window.localStorage.getItem("LOCAL_TOKEN_KEY");
  if (!token) {
    $window.location = 'login.html';
  }
  else {
    $window.location = 'index.html';
  }

我正试图通过检查用户是否存储了令牌来根据他们之前是否登录来重定向用户。通过将其放入应用程序的加载函数,它会导致无限循环,因为当我重定向时,它会一次又一次地检查。。

那么,这通常是如何处理的呢?如果用户有令牌,我还没有找到跳过登录页面的方法。

将以下代码添加到页面上的控制器(而不是加载事件):

if (!token) {
    if ($window.location === 'login.html') {
        return;
    }
    else 
     {
    $window.location = 'login.html';
     }
} else {
    $window.location = 'index.html';
}

这样,如果它们已经在登录页面上,就不会重定向它们。