Ver Mensaje Individual
  #9 (permalink)  
Antiguo 25/03/2014, 08:01
Jamati
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Peticiones Ajax simultáneas

Gracias a todos.
Estuve haciendo algunas modificaciones, y no me decidí a usar JSON, sino que voy a esperar que termine una para que empiece otra, y así sucesivamente.

Puedo deducir que no se puede hacer varias peticiones Ajax simultáneas, sino que se van encolando.

Ahora mi duda es otra:

En mi JS, tengo arriba de todo esto:
Código HTML:
$.xhrPool = [];
$.xhrPool.abortAll = function(){
	$(this).each(function(idx,jqXHR){jqXHR.abort();alert('abortado');});
	$.xhrPool.length = 0;
};
$.ajaxSetup({
	cache: false,
	beforeSend: function(jqXHR){$.xhrPool.push(jqXHR);},
	complete: function(jqXHR){
		var index = $.xhrPool.indexOf(jqXHR);
		if (index > -1){$.xhrPool.splice(index, 1);}
	}
});
Es un código que encontré en internet para cancelar todas las peticiones Ajax enviadas (en realidad no las cancela, sino que las sigue realizando en el servidor, pero ignora los resultados en mi HTML).

La idea es que una vez que lanzo todas las solicitudes Ajax a los diferentes servidores, tengo un botón, el cual le puse un evento onclick="javascript:Cancelar_Todo" ... esa función en mi JS está escrita así:

Código HTML:
function Cancelar_Todo(){
	$.xhrPool.abortAll();
}
Ahora, supongamos que a la función que puse hace unos días, le agrego lo que está en negrita:

Código:
function WebService_Empresa(empresa){
   $.ajax({
         async: true,
         url: 'procesos_webservice.php',
         type: 'post',
         data: 'empresa=1',
	 success: function(data){alert('exito');$('div#'+ empresa).html(data);}
   });
}
No me funciona el botón para cancelar.
Es decir, una vez que mando a ejecutar las 4 funciones Ajax, antes de que termine la primera, apreto el botón cancelar, pero igualmente me devuelve el cartel "Exito" ... ¿como hago para ignorar todas las peticiones Ajax enviadas ? obviamente ignoradas para que no hagan nada luego de terminar.

Bueno, nuevamente mil gracias y perdón por lo extenso.

Ojalá puedan ayudarme.

Saludos