【发布时间】:2017-09-13 17:32:48
【问题描述】:
我正在开发 Web 应用程序,其中我们将 angularJS 作为 UI,将 java 作为后端。我们已将 tomcat 服务器会话超时配置为 20 分钟。 AngularJS 负责获取和保存数据。当数据量很大时,处理请求需要超过 20 分钟,这符合我们的业务需求。
如果任何 ajax 请求花费超过 20 分钟,我们将面临问题。每当任何操作花费超过 20 分钟时,会话就会超时,但是 angularJS 仍然等待返回数据。对服务器的 ajax 请求无法使会话保持活动状态。我们通过在浏览器中打开一个新选项卡来检查它,它要求登录,第一个选项卡等待返回数据。
有没有办法让会话保持活动状态,直到服务器处理请求。
以下是我向服务器发出请求的 angularJS 代码。B
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);
}
});
【问题讨论】:
标签: javascript angularjs ajax session