[Php-avanzado] otra de ajax
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Mayo 27 15:26:46 ART 2013
Hola Ariel,
El dom, 26-05-2013 a las 21:53 -0300, Ariel Fernández escribió:
> Leo, se pueden definir más de un objeto xmlHttpRequest ? o con uno
> solo alcanza para todas las peticiones al servidor de todas las
> funciones?
Se puede. De hecho mostré justo esto en el ejemplo del software que
había llevado.
La pregunta es si es necesario tener más de uno...
> porque resulta que ahora agregué una función más que utiliza el
> objeto, y me dejó de andar todo!
> en la llamada a la función que actualiza la página, me dice que no
> existe el xmlhttp
> siendo que el objeto está inicializado al principio.
Si las peticiones al servidor las hacés asincrónicas, tenés que tener
cuidado de no usar un XMLHTTPRequest desde una función, y antes de que
termine usarlo desde otra, porque la 2da llamada interrumpe la primera y
al resetearla deja las cosas en estado inconsistente.
> También probé de iniciar un nuevo ambiente ajax en cada función, pero
> es como si la variable readyState fuera sólo local y no global, porque
> cuando se llama a la función para actualizar (en la comprobación
> readyState==4), me dice que la variable esa no está definida....acaso
> hay que hacerla global de alguna forma? o tal vez se puede usar un
> solo objeto ajax....
Recordá lo que vimos de ámbito de variables: en JS el ámbito es de
fuera hacia adentro, pero no de dentro hacia afuera. Seguramente es por
eso que la variable no es visible desde la función.
Si hay dos peticiones simultaneas, tenés que usar dos variables de tipo
XMLHTTPRequest, una para cada llamada.
Saludos!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado