[Php-avanzado] otra de ajax

Ariel Fernández arielf05 en gmail.com
Lun Mayo 27 18:24:09 ART 2013


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.
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 !!


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
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130527/903cdf79/attachment.html>


Más información sobre la lista de distribución Php-avanzado