Javascript window.onbeforeunload在进入页面时激发
这段代码没有达到我期望的效果。加载页面时,它只会触发Javascript window.onbeforeunload在进入页面时激发,javascript,angularjs,Javascript,Angularjs,这段代码没有达到我期望的效果。加载页面时,它只会触发saveStats()。当我退出页面时,它不会触发saveStats() 我在我的角度控制器里写的。 我对结果很困惑 $scope.saveStats = function () { $http({ method: "post", url: "save.php", data: $scope.info }).success(function () { console.log($scope.info);
saveStats()
。当我退出页面时,它不会触发saveStats()
我在我的角度控制器里写的。
我对结果很困惑
$scope.saveStats = function () {
$http({
method: "post",
url: "save.php",
data: $scope.info
}).success(function () {
console.log($scope.info);
})
};
window.onbeforeunload = $scope.saveStats();
通过将()
添加到saveStats
的末尾,可以立即执行该函数。您要做的是将对saveStats
的引用传递给您的onbeforeunload
,如下所示:
window.onbeforeunload = $scope.saveStats();
^^^
试试这个:
window.onbeforeunload = $scope.saveStats;
您只是试图通过引用传递函数,而不是执行它,因此请删除触发函数的双括号。什么是
x=foo()代码>做什么?正确的!所以这正是window.onbeforeunload=$scope.saveStats()的内容代码>确实存在。的可能重复取决于saveStats
是否需要此成为$scope
;如果是这样的话,你需要一个bind
@T.J.Crowder好的点来突出显示,但是提供的代码没有使用这个
该死的东西,那是一个蹩脚的错误。感谢您抽出时间,并以如此出色的方式将其清理干净在我被允许接受这个答案之前,我必须等待一段时间
window.onbeforeunload = $scope.saveStats;