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测试后运行。