Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Cancelar ejecucion de peticion AJAX

Estas en el tema de Cancelar ejecucion de peticion AJAX en el foro de Frameworks JS en Foros del Web. hola tengo una funcion que va a ejecutar un procesamiento complejo que se demora mucho y esta dentro de un ciclo, este se accede mediante ...
  #1 (permalink)  
Antiguo 25/08/2009, 09:33
 
Fecha de Ingreso: abril-2009
Mensajes: 21
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Cancelar ejecucion de peticion AJAX

hola
tengo una funcion que va a ejecutar un procesamiento complejo que se demora mucho y esta dentro de un ciclo, este se accede mediante ajax y mientras se esta ejecutando muestro un div popup que me bloquea la pantalla y tiene un boton cancelar, lo que necesito es que cuando se de click en el cancelar pare la ejecucion de la otra funcion ajax, ya he probado de muchas formas:
- intentando cambiar una variable en la sesion y preguntando por su valor en cada iteracion del ciclo
- mediante aceso a la base de datos con un campo "flag" para hacer lo mismo que con la sesion
ninguna de estas me han funcionado, la segunda accion ajax ejecutada para cambiar el valor del campo de comprobacion se ejecuta y cambia el valor pero la accion principal que quiero cancelar nunca se entera de esto, ni por la sesion ni por la base de datos. si alguin pudiera darme alguna guia de como pordria lograrlo lo agradeceria mucho.
  #2 (permalink)  
Antiguo 25/08/2009, 13:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Cancelar ejecucion de peticion AJAX

El objeto ajax tiene un método abort() que puedes llamar para cancelar la ejecución.

Saludos.
  #3 (permalink)  
Antiguo 25/08/2009, 13:39
 
Fecha de Ingreso: abril-2009
Mensajes: 21
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Cancelar ejecucion de peticion AJAX

gracias por la respuesta, pero el problema es que no puedo abortar la ejecucion del ajax desde afuera, es decir cada iteracion del ciclo es una unidad atomica que no puede quedarse a la mitad, obligatoriamente tengo que comprobar que finalize la ejecucion de la iteracion. una pregunta a ver si aclaro una cosa y dejo de una vez de intentar algo asi: 2 peticiones ajax se supone que se ejecuten paralelamente en el servidor como hilos de ejecucion o una espera a que la otra termine?? y si es asi: cada una sera capaz de ver cambios hechos por la otra como cambios en sesion o en la bd?? la verdad es que para todo lo que he hecho estoy asumiendo que si
  #4 (permalink)  
Antiguo 26/08/2009, 09:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Cancelar ejecucion de peticion AJAX

Todo depende de como implementes AJAX en el cliente, ya que si usas el mismo objeto AJAX este va a esperar al anterior, pero si los haces por separado cada uno se ejecuta de forma independiente.

Saludos.
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 16:14.