Foros del Web » Programando para Internet » Javascript »

Funcionamiento de AJAX

Estas en el tema de Funcionamiento de AJAX en el foro de Javascript en Foros del Web. Hola a todos, alguien sabe que sucede en ajax cuando se hacen dos llamadas seguidas: xmlhttp.open("GET","colores.php",false); xmlhttp.send(); xmlhttp2.open("GET","colores.json",false); xmlhttp2.send(); Como se contestan a las llamadas, ...
  #1 (permalink)  
Antiguo 25/11/2011, 10:23
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Funcionamiento de AJAX

Hola a todos, alguien sabe que sucede en ajax cuando se hacen dos llamadas seguidas:

xmlhttp.open("GET","colores.php",false);
xmlhttp.send();

xmlhttp2.open("GET","colores.json",false);
xmlhttp2.send();


Como se contestan a las llamadas, siempre suceden en orden, es decir, primero el servidor contestara xmlhttp y luego xmlhttp2. Necesito que si se contesten en orden

Muchas gracias!

Última edición por ekaitzht; 25/11/2011 a las 11:08 Razón: javascript,ajax,multiples,llamadas,orden,secuencial
  #2 (permalink)  
Antiguo 25/11/2011, 12:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Funcionamiento de AJAX

AJAX envía peticiones HTTP normales, si quieres controlar la procedencia, lo mejor es que envíes la 2da al obtener resultado de la primera en su onreadystatechange.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/11/2011, 13:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Funcionamiento de AJAX

Gracias, tiene toda la logica no se me ocurrio
io
  #4 (permalink)  
Antiguo 25/11/2011, 14:11
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: Funcionamiento de AJAX

buenas,
incluso así como lo tienes deben cargarse en orden. pues ambas llamadas son síncronas. aunque en la forma como indica @maycol, la segunda solo se invocará si la primera lo hace con éxito. en fin, en ambas formas debe funcionar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 27/11/2011, 11:08
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Funcionamiento de AJAX

Lo he probado y parece que la segunda no espera a la primera. 100% seguro
  #6 (permalink)  
Antiguo 27/11/2011, 11:09
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Funcionamiento de AJAX

e funcionar.[/QUOTE]
  #7 (permalink)  
Antiguo 27/11/2011, 11:12
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Funcionamiento de AJAX

Cita:
Iniciado por zerokilled Ver Mensaje
buenas,
incluso así como lo tienes deben cargarse en orden. pues ambas llamadas son síncronas. aunque en la forma como indica @maycol, la segunda solo se invocará si la primera lo hace con éxito. en fin, en ambas formas debe funcionar.
Me equivoque si que funciona, pero si las funciones estarian en el tercer parametro a "true" no funcionaria no?

xmlhttp.open("GET","colores.php",true);
xmlhttp.send();

xmlhttp2.open("GET","colores.json",true);
xmlhttp2.send();
  #8 (permalink)  
Antiguo 27/11/2011, 12:21
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: Funcionamiento de AJAX

es correcto, en ese caso tendrías que hacerlo la forma que sugiere @maycol.

@edit: aclaración. de funcionar funciona con true. solo que deja de ser síncrono y el orden de respuesta puede variar. además, el script continuaría procesandose sin esperar la respuesta de las peticiones. por tanto, la forma a organizar el código depende del modelo que utilices, síncrono o asíncrono.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 27/11/2011 a las 13:09
  #9 (permalink)  
Antiguo 21/01/2012, 11:21
 
Fecha de Ingreso: noviembre-2011
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Funcionamiento de AJAX

Como se haria una llamada anidada en ajax, supongo que sera algo asi:


xmlhttp3.onreadystatechange=function(){
if (xmlhttp3.readyState==4 && xmlhttp3.status==200){

respuesta=xmlhttp3.responseText;

if (window.XMLHttpRequest){

xmlhttp=new XMLHttpRequest();
}
else{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
  #10 (permalink)  
Antiguo 21/01/2012, 14:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Funcionamiento de AJAX

En efecto eso es o básico, pero si reestructuras el código separando la declaración del objeto ajax en una función te será más fácil implementarlo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, llamada, request, sincronia, xmlhttp
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 08:40.