私は 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 を使用しています