簡體   English   中英

如何在Angular JS中保持會話活躍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM