2016-03-04 2 views
0

Я работаю над веб-приложением, в котором у нас есть угловой JS как пользовательский интерфейс и java как задний конец. Мы настроили тайм-аут сеанса сервера tomcat на 20 минут. AngularJS отвечает за выборку и сохранение данных. Когда размер данных огромен когда-то, требуется более 20 минут, чтобы обработать запрос, который соответствует нашим бизнес-требованиям.Как сохранить сессию в угловой JS

Мы сталкиваемся с проблемой, если какой-либо запрос ajax занимает более 20 минут. Всякий раз, когда какая-либо операция занимает более 20 минут, сеанс проходит через тайм-аут, однако угловой JS все еще ожидает возвращения данных. Запрос ajax на сервер не способен поддерживать сеанс. Мы проверили его, открыв новую вкладку в браузере, в которой запрашивается логин, где первая вкладка ожидает возвращения данных.

Есть ли способ сохранить сеанс до тех пор, пока сервер не обработает запрос.

Ниже мой angularJS код, чтобы сделать запрос на server.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); 
      } 
     }); 

ответ

0

Вы можете настроить угловую таймаут:

От $ HTTP документы: тайм-аут - {номер | Promise} - тайм-аут в миллисекунды или обещание, которое должно прервать запрос при его разрешении.

0

Использование угловой сохранить живыми

$scope.$on('Keepalive', function() { 
    // do something to keep the user's session alive});