10/02/2012

Expiró la sesión, timeout y AJAX

Si en nuestra aplicación web tenemos un sin fin de peticiones AJAX y queremos controlar la respuesta cuando la sesión del usuario expira (por timeout por ejemplo), solo debemos agregar el siguiente <script> al final de nuestro <body>.
 <script type="text/javascript">  
 $(function() {  
      $(document).ajaxSuccess(function(evt, request, settings) {  
           if (request.responseText.indexOf('string-para-identificar-que-expiro-sesion') != -1) {  
                location.href="/login";  
           }  
      });  
 });  
 </script>  
Cada vez que una petición Ajax se realiza "correctamente", jQuery activa el evento ajaxSuccess, con este handler podremos analizar lo que nos retornó el servidor como respuesta cuando expira la sesión y así poder redireccionar al usuario si el caso amerita.

No hay comentarios.: