Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/09/2010, 09:45
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 9 meses
Puntos: 1485
Respuesta: Ejecucion en paralelo de functions

como ya te indicaba, tienes que realizar la peticion en modo sincrono. cuando la peticion es asincrona, javascript no se detiene a esperar que la peticion finalice todas sus etapas. por tanto, para cuando invoques el metodo returnRequest seguramente las peticiones aun no han terminado. por el contrario, en la peticion sincrona javascript se detiene hasta que la peticion obtenga una respuesta.

por otro lado, he estado analizando el codigo y veo que tienes varios errores. en el evento onreadystatechange invocas la funcion statusRequest, pero en este punto se entiende que no es un metodo del objeto, sino como una variable local del constructor AJAX. claro, tampoco puedes invocar la funcion con this.statusRequest porque al estar asignado al evento, this representaria el objeto XMLHttpRequest en lugar de la instancia creada con AJAX. pero nada, facil de resolver. en lugar de invocar desde this invocalo desde obj ya que dicha variable es una referencia a la instancia.

el otro error lo tienes en returnRequest. fijate que la propiedad objStatus es un boolean pero en el switch estas comparando por un valor numerico que representa el estado de la peticion http. una de dos, lees el estado directamente desde el objeto XMLHttpRequest o realiza los cambios pertinentes para que objStatus contenga el estado en lugar de un boolean.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.