Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/05/2011, 08:50
Avatar de Sotelio
Sotelio
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 21
Respuesta: Problema: variable fuera de una función ajax

@herrerao, lo básico de ajax es su sigla:

Asynchronous Javascript And Xml.

Lo primero significa asíncrono o asincrónico o como quieras traducirlo ja.

O sea, no tiene sincronía, y esto que significa? que puedes ejecutar, por ejemplo, 5 líneas de código javascript, y si una de ellas es una llamada ajax, podría terminarse de ejecutar después de la 5.

Y por qué sucede esto? primero porque así funciona ajax (aunque puedes obligarlo a que sea sincrónico o síncrono) y segundo porque cuando haces una llamada ajax estás haciendo una solicitud al servidor, que puede tomar milésimas de segundos o incluso segundos, dependiendo de la conexión del que visualiza el sitio o el archivo que programaste.

Entonces, en tu código tienes esto:

chkform(); // que ejecuta una llamada ajax, que demora algunas milésimas de segundo, cuando se ejecuta, asigna el valor a la variable tmp

alert(tmp) // que se ejecuta inmediatamente!!! sin esperar a la llamada ajax.

Se entiende ahora? :D

Saludos
Sotelio