[英]How to keep session alive in angular JS
我正在開發將angularJS作為UI和java作為后端的Web應用程序。 我們已將tomcat服務器會話超時配置為20分鍾。 AngularJS負責獲取和保存數據。 如果某個時候的數據量很大,則需要20多分鍾來處理該請求,這根據我們的業務要求是可以的。
如果任何ajax請求需要20分鍾以上,我們將面臨問題。 每當任何操作花費超過20分鍾的時間時,會話就會超時,但是angularJS仍然等待數據返回。 對服務器的ajax請求無法使會話保持活動狀態。 我們通過在瀏覽器中打開一個新選項卡進行檢查,它要求登錄,第一個選項卡等待數據返回。
在服務器處理請求之前,有什么方法可以使會話保持活動狀態。
以下是我的向服務器提出請求的angularJS代碼
return $http({
method: method,
url: url,
async:true,
data: $.param(data),
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With':'XMLHttpRequest'
}
}).then(function(response){
if(response.status ===200){
// do some work
} else{
failureCallBack(response.data, response.status, response);
}
});
您可以配置角度超時:
來自$ http docs:超時– {number | Promise} –超時(以毫秒為單位),或承諾解決后應中止請求。
使用角度保持生命
$scope.$on('Keepalive', function() {
// do something to keep the user's session alive});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.