Changes between Version 10 and Version 11 of WF/UtilizacaodeAjaxemprocessos


Ignore:
Timestamp:
05/21/08 11:02:15 (16 years ago)
Author:
drovetto
Comment:

Tratamento de sessão expirada

Legend:

Unmodified
Added
Removed
Modified
  • WF/UtilizacaodeAjaxemprocessos

    v10 v11  
    352352?> 
    353353}}} 
     354 
     355== Tratando Sessões Expiradas == 
     356A partir do Workflow 1.7.00.000, foram feitas algumas modificações (inclusive no !NanoAjax) que permitem o tratamento de sessões expiradas.  Quando uma sessão expira e é feita uma chamada Ajax, a resposta incluirá uma exceção com valor {{{__NANOAJAX_SESSION_EXPIRED__}}} para cada chamada virtual. O tratamento é bem simples, como pode ser visto abaixo (!JavaScript): 
     357{{{ 
     358/* função que trata as exceções */ 
     359function tratamentoExcecao(header, body, exceptionResponse) 
     360{ 
     361        var ajaxResult = JSON.parse(body); 
     362        for (var requestIdentifier in ajaxResult) 
     363        { 
     364                /* verifica se a exceção é originária da sessão expirada */ 
     365                if (ajaxResult[requestIdentifier]['exception'] == '__NANOAJAX_SESSION_EXPIRED__') 
     366                { 
     367                        /* informa o usuário sobre a sessão expirada e o envia para a tela de login */ 
     368                        alert('Sua sessão expirou'); 
     369                        window.location = 'login.php'; 
     370                        return ; 
     371                } 
     372        } 
     373} 
     374 
     375var nc = new NanoController(); 
     376nc.setExceptionHandler(tratamentoExcecao); // define que nossa função será usada para tratamento de exceções 
     377/* ... */ 
     378nc.sendRequest(); 
     379}}}