执行$ stateChangeStart状态后的代码应该改变

时间:2016-03-11 05:41:06

标签: angularjs

我在回调函数下使用$ stateChangeStart我从数据库中获取用户的详细信息,如果他们是会话中的任何用户将路由到特定状态,否则它将路由到登录

  $rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams){
        getSessionData(function(status, data){
          if(status){
            var user = data
            if(toState.authenticate && !user){
              // User isn’t authenticated
              $state.go("login");
              event.preventDefault(); 
            }
          }
          else{
            $state.go("login");
            event.preventDefault(); 
          }  
        })
        function getSessionData(callBack){
          sessionsFactry.getSession.query(function(p_objResp){
            //console.log(p_objResp);
            if(p_objResp.success)
              callBack(p_objResp.success, p_objResp.data)
            else
              callBack(p_objResp.success, '')         
          });
        }
      })  
当用户注销时,登录和路由更改其工作正常,并继续按下浏览器,花时间检查用户并重定向到登录页面。怎么可以克服? 谢谢, Babji。

0 个答案:

没有答案