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

Cancelar peticiones ajax pendientes

Estas en el tema de Cancelar peticiones ajax pendientes en el foro de Frameworks JS en Foros del Web. Buenas noches, Tengo un código en ajax el cual al pasar por encima de una celda con comentarios me muestra un div con los comentarios ...
  #1 (permalink)  
Antiguo 02/08/2010, 15:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 0
Cancelar peticiones ajax pendientes

Buenas noches,

Tengo un código en ajax el cual al pasar por encima de una celda con comentarios me muestra un div con los comentarios de esa celda.

El caso es que cuando paso por encima de 8-10 celdas se quedan en cola las peticiones, de modo que cuando llego encima del último veo como va cambiando el div con los comentarios de todas las celdas por las que he pasado, hasta estabilizarse en la actual.

Como puedo cancelar las anteriores peticiones para solo mostrar esta última?

Gracias.
  #2 (permalink)  
Antiguo 05/08/2010, 15:35
 
Fecha de Ingreso: junio-2010
Mensajes: 59
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: Cancelar peticiones ajax pendientes

hola
Tienes dos opciones:
1) La mas facil es que cargues las descripciones sin ajax, es decir el contenido de cada descripcion lo pongas en un celda no visible de la tabla, y al pasar el mouse por la celda, simplemente recuperas el contenido de la descripcion de la celda no visible por medio de su id y lo muestras en el div
2) La otra, y usando ajax es que en tu javascript te crees una variable que contenga la celda en donde se encuentra el mouse, es decir, la celda actual
Tu peticion ajax ademas de la descripcion deberia devolver un id, que es el mismo id que debe tener su celda correspondiente.
Y Simplemente cuando te llegue la respuesta por ajax, comparas que el id de esta peticion sea el mismo que el id de la celda actual, si es, actualizas el div con esa descripcion (innerHTML), sino no haces nada y lo deshechas

Última edición por rodrigo_1986; 07/08/2010 a las 16:18
  #3 (permalink)  
Antiguo 05/08/2010, 19:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cancelar peticiones ajax pendientes

para cancelar una peticion debes usar el metodo abort. supongo lo que lo invocaras en el evento mouseout de la celda.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 10/08/2010, 14:40
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 16 años
Puntos: 0
Respuesta: Cancelar peticiones ajax pendientes

Cita:
Iniciado por zerokilled Ver Mensaje
para cancelar una peticion debes usar el metodo abort. supongo lo que lo invocaras en el evento mouseout de la celda.
Solo ojo que al cancelar, cancela del lado del cliente... si la petición ya fue enviada al server y el server está tardando en contestar es cosa aparte (aunque no conteste) no se puede cancelar lo que ya se envió.

Lo que podrías hacer es quizá impedir que haga una solicitud hasta que la anterior finalice.

Etiquetas: ajax, data, javascript, populate, popup
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 22:52.