martes, 9 de noviembre de 2010

Sobre XMLHttpRequest e Internet Explorer: uso no inteligente de la caché

Me encontraba programando una página web, y coloqué un botón que leía el contenido generado por un php. Este php no recibía ningún parámetro, me daba una salida según el día de la semana y la hora. Con firefox, safari, chrome, etc. todo bien, pero el problema me lo encontré como no con el amigo Internet Explorer. Él decide que como la petición al php siempre es la misma, pues la respuesta va a ser siempre la misma. Y sanseacabó!

Teóricamente es para que la web vaya más rápido y ahorrar llamadas innecesarias y usar la caché, y aunque lo intenté no hubo forma de decirle que no la usara. Así que la solución fue ensuciar el código de forma estúpida:

xmlhttp.open("GET","dia.php?a="+new Date(),true);

Como veis en cada petición le mando la fecha y hora del sistema. Así, la petición en cada momento es diferente, y Explorer está obligado a volver a leer otra vez.
Como siempre, Microsoft a la vanguardia. Ya me dió tambien problemas con el CSS3, pero de eso hablaré en otro momento.

Nos vemos

No hay comentarios:

Publicar un comentario