Javascript 在呈现页面之前执行函数

Javascript 在呈现页面之前执行函数,javascript,angularjs,Javascript,Angularjs,我正在使用angular.js,我正在尝试检查服务器端是否创建了会话,如果没有,我想重定向到登录页面 问题是重定向发生在页面加载后几秒钟,但我想在页面加载前执行函数 如何实现这一目标,有什么建议吗 这是我的控制器: myPanel.controller('globalController', function($scope, $http){ $http.get('../classes/login.php').then(function(response){ $

我正在使用angular.js,我正在尝试检查服务器端是否创建了会话,如果没有,我想重定向到登录页面

问题是重定向发生在页面加载后几秒钟,但我想在页面加载前执行函数

如何实现这一目标,有什么建议吗

这是我的控制器:

myPanel.controller('globalController', function($scope, $http){
     $http.get('../classes/login.php').then(function(response){
             $scope.isSession = response.data;
             if($scope.isSession.isStarted === false){
                 window.location = 'http://localhost/PDP/admin';
             }
        });
 });

使用配置控制器前执行的
run
功能:

app.run(run)

function run($http) {
    $http.get('../classes/login.php').then(function(response){
         var isSession = response.data;
         if(isSession.isStarted === false){
             window.location = 'http://localhost/PDP/admin';
         }
    });
}
但是,这将只运行一次。现在,如果您使用的是
ui路由器
,我们可以使用
$stateChangeStart
事件在状态发生以下变化时运行此函数:

//runs everytime when state changes
function run($rootScope, $http, $state) {
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
        //http get function here
    })
} 
另一个用例是您希望此函数仅在特定状态下运行。在这种情况下,请使用
resolve
(仅当您使用的是ui路由器时,请再次使用):


使用配置控制器前执行的
run
功能:

app.run(run)

function run($http) {
    $http.get('../classes/login.php').then(function(response){
         var isSession = response.data;
         if(isSession.isStarted === false){
             window.location = 'http://localhost/PDP/admin';
         }
    });
}
但是,这将只运行一次。现在,如果您使用的是
ui路由器
,我们可以使用
$stateChangeStart
事件在状态发生以下变化时运行此函数:

//runs everytime when state changes
function run($rootScope, $http, $state) {
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
        //http get function here
    })
} 
另一个用例是您希望此函数仅在特定状态下运行。在这种情况下,请使用
resolve
(仅当您使用的是ui路由器时,请再次使用):


您正在使用ui路由器吗?用户
解析
您正在使用ui路由器吗?用户
解析