Foros del Web » Programando para Internet » Jquery »

Ejecutar ajax al salir del sitio...

Estas en el tema de Ejecutar ajax al salir del sitio... en el foro de Jquery en Foros del Web. Tengo una duda, y no estoy seguro si es posible hacer esto: Tengo este script: $(window).on('beforeunload', function() { $.ajax({ type: 'GET', url: 'ajax.php' }); return ...
  #1 (permalink)  
Antiguo 30/03/2013, 19:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 132
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Ejecutar ajax al salir del sitio...

Tengo una duda, y no estoy seguro si es posible hacer esto:

Tengo este script:

$(window).on('beforeunload', function() {

$.ajax({ type: 'GET', url: 'ajax.php' });

return 'fin';

}
);

que funciona bien. Ejecuta el ajax.php antes de abandonar el site. Este php hace un update en una DB.

Pero... el problema es que si el usuario hace click en "cancelar" cuando salta la ventana de confirmación de cierre... mi script php ya se ejecutó, y yo no quiero eso. Solo si acepta el abandono debe ejecutarse.

es posible hacer esto ???

NOTA: Si pongo un alert en lugar de un return se soluciona, xq se anula la opción de "cancelar". Pero... un alert en el beforeunload NO funciona en chrome :((((

Última edición por chsc; 30/03/2013 a las 19:58
  #2 (permalink)  
Antiguo 01/04/2013, 14:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Ejecutar ajax al salir del sitio...

no, no es posible, porque en la mayoría de los navegadores se ejecuta el GC en el evento onunload, y por ende toda instancia de AJAX (XHR) se elimina sin siquiera llegar a hacer el request.

además lo que espera onbeforeunload es que le sea retornado algo para mostrarlo en el dialogo de confirmación, hasta ahora no es posible detectar la decisión del usuario, al menos no conozco alguna estándar.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/04/2013, 14:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 132
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Ejecutar ajax al salir del sitio...

gracias...

Etiquetas: ajax, funcion, javascript, php, salir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:16.