[Php-avanzado] otra de ajax
Ariel Fernández
arielf05 en gmail.com
Lun Mayo 27 19:45:37 ART 2013
claro, ok....en otras pruebas, la demora bajó sustancialmente ! pero aún
asi, no me funciona, aunque tengo una leve pista...estoy usando en
onreadystatechange una función con un parámetro, y aparentemente eso no se
podría hacer...según entendi leyendo por ahí...
tengo ésto xhr.onreadystatechange=cargaOpciones("sLoc");
luego, defino esa función más abajo
function cargaOpciones(combo){.....etc etc
pero según creo, eso no se puede....bueno....veremos, gracias !
El 27 de mayo de 2013 19:38, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:
> Hola Ariel,
>
> El lun, 27-05-2013 a las 18:24 -0300, Ariel Fernández escribió:
> > Leo, otra vez yo ! el problema que tiene el código es que el
> > xmlHttp.readyState se queda en 1 cuando la función updatePage verifica
> > su estado, por eso no me actualiza los datos en la página, porque no
> > entra nunca en el if xmlHttp.readyState == 4.
>
> Bueno, pero salvo que lo pises con otra petición el valor de
> readyState
> tiene que ir cambiando. De hecho, si no cambiara, no recibirías nada
> como respuesta...
>
> > Lo que no sé es por qué devuelve el estado "Cargando"....si al ratito
> > puedo ver en el responseText que ahi está lo que necesito !!
>
> Tal vez simplemente lo estés debuggeando mal: los cambios de
> estado por
> evento se ven solo adentro del propio evento que los genera.
>
> Lo de que Apache bajo MS Windows tarde 1 segundo en responder no
> está
> mal... para más velocidad tendrías que usar un sistema operativo que no
> sea de escritorio, como por ejemplo GNU/Linux.
>
> Llevate el código al curso y lo desarmamos en clase para ver qué
> es lo
> que hace!
>
>
> >
> > Mirá, ésto es lo que me muestra el depurador nativo de Firefox que me
> > recomendaste:
> >
> >
> > [18:15:40.351] POST
> > http://localhost/Avanzado/ejercicios_clase_5/leeProv.php [HTTP/1.1 200
> > OK 1013ms]
> >
> >
> >
> > Cabeceras de la respuesta
> > Δ1013ms
> >
> > X-Powered-By:PHP/5.4.3Server:Apache/2.4.2 (Win64)
> > PHP/5.4.3Keep-Alive:timeout=5, max=97Date:Mon, 27 May 2013 21:15:40
> > GMTContent-Type:text/htmlContent-Length:1034Connection:Keep-Alive
> >
> >
> >
> >
> >
> > Cuerpo de la respuesta
> > Δ0ms
> >
> > <select name="" id="">
> > <option value="">Seleccione provincia...</option>
> > <option value="1">Buenos Aires</option>
> > <option value="2">Buenos Aires-GBA</option>
> > <option value="3">Capital Federal</option>
> > <option value="4">Catamarca</option>
> > <option value="5">Chaco</option>
> > <option value="6">Chubut</option>
> > <option value="7">Córdoba</option>
> > <option value="8">Corrientes</option>
> > <option value="9">Entre RÃos</option>
> > <option value="10">Formosa</option>
> > <option value="11">Jujuy</option>
> > <option value="12">La Pampa</option>
> > <option value="13">La Rioja</option>
> > <option value="14">Mendoza</option>
> > <option value="15">Misiones</option>
> > <option value="16">Neuquén</option>
> > <option value="17">RÃo Negro</option>
> > <option value="18">Salta</option>
> > <option value="19">San Juan</option>
> > <option value="20">San Luis</option>
> > <option value="21">Santa Cruz</option>
> > <option value="22">Santa Fe</option>
> > <option value="23">Santiago del Estero</option>
> > <option value="24">Tierra del Fuego</option>
> > <option value="25">Tucumán</option>
> > </select>
> >
> >
> >
> >
> > o sea, ahí está el select del que te hablé....lo que me parece extraño
> > es ese tiempo de 1013ms que me marca en la cabecera...eso no es mucho
> > tiempo de demora ?
> > bueno, te adelantaba algo porque sigo probando, pero el jueves si no,
> > lo vemos bien.
> >
> >
> >
> >
> > El 27 de mayo de 2013 15:57, Ariel Fernández <arielf05 en gmail.com>
> > escribió:
> > Ah, ok lo del ejemplo.
> > Sí Leo, eso hice, utilicé dos variables, y entiendo lo del
> > ámbito de las variables, si cuando tenía una sola
> > funcionaba... pero debo tener algo mal con eso, porque las
> > llamadas no son simultáneas, una es cuando se carga la página
> > y la otra en un change de un select.
> > Y si no funciona, lo cargaré con php al comienzo y listo, y
> > uso ajax sólo una vez para el select. De última lo vemos bien
> > el jueves.
> >
> > El may 27, 2013 3:27 p.m., "Leonardo Tadei - Pegasus Tech
> > Supply" <leonardot en pegasusnet.com.ar> escribió:
> >
> > 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
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130527/2f336ef4/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado