2016-05-24 2 views
0

私のアプリケーションを実行すると自動的に/signinにリダイレクトされ、ページを移動しようとすると/signupはリダイレクトできません。
私はnextと確認したい場合は、http://localhost:9000/signupから/signupまでの位置がありますが、何の問題もありませんか?サインアップルートへのアクセス中にAngularJsがリダイレクトする

user.service.js:

angular.module('crud').service('User', function($sails) { 

    return { 
    isLoggedIn: function() { 

     this.getUser(); 

    }, 
    setUser: function(aUser) { 
     localStorage.setItem('User', JSON.stringify(aUser)); 
    }, 

    getUser: function() { 
     return localStorage.getItem('User'); 
     //console.log('retrievedObject: ', JSON.parse(retrievedObject)); 
    } 
    } 

}); 

APP.js:

.run(function($rootScope, $location, $log, User) { 

     $rootScope.$on("$locationChangeStart", function(event, next, current, jwtHelper) { 

     if (!User.isLoggedIn()) { 
      $location.path("/signin"); 
     } else if (next === "http://localhost:9000/signup") { 
      $location.path("/signup"); 
     } 
     }); 
+0

console.log(次へ)を追加すると表示される内容。直前にif(!User.isLoggedIn()){... – mtamma

+0

それは表示パスをクリックして – nevergiveup

+0

"http:// localhost:9000/signup"または "http:// localhost:9000 /#/ signup " 私に経路の値の1つを見せてください – mtamma

答えて

0

ユーザーがサインアップしようとするたびに、あなたがサインインするユーザーをリダイレクトしています。ルーティングを中断しないように条件を更新して、signupsignin

.run(function($rootScope, $location, $log, User) { 
     $rootScope.$on("$locationChangeStart", function(event, next, current, jwtHelper) { 
     var allowed = ["http://localhost:9000/signup", 
      "http://localhost:9000/signin" 
     ] 
     if (allowed.indexOf(next) < 0 && !User.isLoggedIn()) { 
      $location.path("/signin"); 
     } 
     }); 
関連する問題