由页面加载重定向引起的AngularJS无限循环

时间:2015-12-02 21:22:50

标签: javascript angularjs authentication ionic

我的app的加载功能中有以下代码:

  var token = window.localStorage.getItem("LOCAL_TOKEN_KEY");

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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