我正在使用 ng-Idle 并在填充 KeepaliveProvider.http(...) 时出现错误。在大多数情况下,我使用的代码直接取自此处给出的示例http://hackedbychinese.github.io/ng-idle/
这是我的控制器:
function timeoutCtrl(modelData, $scope, Idle, $log, $uibModal) {
var vm = this;
vm.config = {};
(function () {
vm.config = modelData;
Idle.watch();
}());
function closeModals() {
if (vm.warning) {
vm.warning.close();
vm.warning = null;
}
}
$scope.$on('IdleStart', function () {
$log.debug('IdleStart');
closeModals();
vm.warning = $uibModal.open({
templateUrl: 'timeout-warning-dialog.html',
controller: 'TimeoutWarningController as timeoutWarning'
});
});
$scope.$on('IdleEnd', function () {
$log.debug('IdleEnd');
closeModals();
});
$scope.$on('IdleTimeout', function () {
$log.debug('IdleTimeout');
window.location = '/Session/Timeout/' + vm.config.paxCode;
});
}
app.controller('TimeoutController', ['modelData', '$scope', 'Idle', '$log', '$uibModal', timeoutCtrl])
.config(['timeoutData', 'IdleProvider', 'KeepaliveProvider', function (timeoutData, IdleProvider, KeepaliveProvider) {
IdleProvider.idle(timeoutData.timeoutIdleSeconds);
IdleProvider.timeout(timeoutData.timeoutWarningSeconds);
KeepaliveProvider.interval(timeoutData.keepAliveSeconds);
KeepaliveProvider.http('/api/session/keepalive');
}]);
但是在 IdleStart 打开模态对话框后,任何鼠标移动都会导致此错误: 在此处输入图像描述
$http(...).success 不是函数
如果我注释掉设置 KeepaliveProvider.http(...) 的行,则不会发生错误。但是我的服务器会话也没有保持活动状态。
我已经用谷歌搜索了这个,大多数例子都没有设置 KeepaliveProvider.http(...)。那些做的事情和我做的一样。是否有一些必须完成但示例中没有的配置?
我正在使用 ng-Idle 1.2.2