Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/10/2012, 05:31
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 10 meses
Puntos: 33
Respuesta: Saber cuando AJAX ha terminado

Te explico.

Primero se llaman a unas rutinas AJAX que definen unas variables.
Después se llama a una rutina AJAX que formatea un texto.

Finalmente necesito cambiar un simple color del texto que devuelve.

Digamos así:

Código:
externoAJAXvariables(){//define unas variables; digamos v1 y v2};

externoAJAXtexto(v1, v2){//recibe v1 y v2, y me devuelve un texto, en el cual hay un div con un ID que conozco y que quiero cambiar mediante JS};

propioJScambiaColor(){
document.getElementById(id).style.backgroundColor='#123546';
};
Entonces, si la ejecución la hago sin pausas me falla ya que llama a la segunda rutina cuando la primera aún no ha terminado (y por tanto las variables no están definidas y me da error de JS).

Del mismo modo, se lanza la tercera función sin que esté la segunda completa, por lo que más de lo mismo.

Así, tengo hecho esto:

Código:
externoAJAXvariables();
window.setTimeout("externoAJAXtexto(), 1200);
window.setTimeout("propioJScambiaColor(), 2000);
A mí en mi navegador me funciona, y en general funciona bien. El problema es que no sé si con una conexión lenta bastarán 1,2 segundos, por eso comentaba lo de esperar a que terminara.

Espero que ahora sí quede algo más claro.

Saludos!