Javascript 当用户刷新页面时,如何进行angularjs$http POST调用?

Javascript 当用户刷新页面时,如何进行angularjs$http POST调用?,javascript,angularjs,http,rootscope,Javascript,Angularjs,Http,Rootscope,控制器: app.run(function ($rootScope, $templateCache) { $rootScope.$on('$viewContentLoaded', function ($scope, $http) { $templateCache.removeAll(); alert("refresh....."); $http({ url: '/angularjs-restful/chec

控制器:

app.run(function ($rootScope, $templateCache) {
    $rootScope.$on('$viewContentLoaded', function ($scope, $http) {     
        $templateCache.removeAll();
        alert("refresh.....");
        $http({
            url: '/angularjs-restful/check/check-session',
            method: "POST",
            data: {},
            isArray: false
        }).success(function(data, status, headers, config){
            alert("success.....");
            console.log('status: ' + status);
            console.log('data: ' + data);
        }).error(function(data, status, headers, config){
            alert('error');
        });        
        alert("end.....");
    });       
});
当用户在键盘上按f5或用鼠标手动刷新页面时,我需要进行AJAX调用。我怎样才能做到这一点? url是一个返回true或false的rest服务。

您可以使用函数来侦听应在f5上触发的卸载事件

function ctrl($scope, $window) {
    angular.element($window).bind('beforeunload', function() {
        console.log('do ajax call');
    });
}

相反,我建议使用
$window
服务绑定到
beforeunload
事件,以防需要通过模拟测试AJAX调用。我试过了,但仍然不起作用。如何将您的代码添加到我上面发布的代码中?当我刷新页面时,警报(“refresh…”)工作正常,在警报之后,我需要使用$http进行ajax调用以调用服务…我添加了您提供的代码“angular.element($window.bind('beforeunload',function(){console.log('do ajax call');}”但它不会在警报完成IE上的DIF测试后运行。