[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