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  
    351351?> 
    352352}}} 
     353 
     354== Tratando Sessões Expiradas == 
     355A 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): 
     356{{{ 
     357/* função que trata as exceções */ 
     358function tratamentoExcecao(header, body, exceptionResponse) 
     359{ 
     360        var ajaxResult = JSON.parse(body); 
     361        for (var requestIdentifier in ajaxResult) 
     362        { 
     363                /* verifica se a exceção é originária da sessão expirada */ 
     364                if (ajaxResult[requestIdentifier]['exception'] == '__NANOAJAX_SESSION_EXPIRED__') 
     365                { 
     366                        /* informa o usuário sobre a sessão expirada e o envia para a tela de login */ 
     367                        alert('Sua sessão expirou'); 
     368                        window.location = 'login.php'; 
     369                        return ; 
     370                } 
     371        } 
     372} 
     373 
     374var nc = new NanoController(); 
     375nc.setExceptionHandler(tratamentoExcecao); // define que nossa função será usada para tratamento de exceções 
     376/* ... */ 
     377nc.sendRequest(); 
     378}}}