Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problemas de cache

Estas en el tema de problemas de cache en el foro de Frameworks JS en Foros del Web. wenas... hace unos dias empece con ajax y me da buenos resultado... pero... tengo problemas con la cache... o sea... a veces modifico un codigo ...
  #1 (permalink)  
Antiguo 14/03/2006, 12:24
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 21 años, 9 meses
Puntos: 0
problemas de cache

wenas... hace unos dias empece con ajax y me da buenos resultado... pero... tengo problemas con la cache...
o sea... a veces modifico un codigo y para probarlo denuevo tengo que limpiar la cache del explorador de turno...

esto lo note mas que nada ahora que queria testear ajax haciendo un chat simplon... o sea... recargando en un div el contenido de un txt... pero por mas que lo modifique (al txt) cada vez que recargo el contenido me sigue mostrando el primer txt que levanto... y hasta que no limpie la cache no me muestra lo nuevo...

estuve viendo los headers de no cache y demas variantes pero ni asi logro solucionar eso...

si alguno se le ocurre alguna idea... me avisa...

gracias
__________________
See you... y Tolkien... mucho Tolkien...
  #2 (permalink)  
Antiguo 14/03/2006, 17:39
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 3 meses
Puntos: 2
Hola, hace tiempo pasé por algo similar y publiqué algo que me solucionó el problema en este post: http://www.forosdelweb.com/f127/ie-no-servidor-busca-nuevos-datos-373996/

Fijate si te sirve. Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 14/03/2006, 17:51
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 10 meses
Puntos: 5
Buenas. Otra forma rápida de evitar que "cachee" es agregar algún parámetro al azar a la url.

Por ej, si la url desde donde cargás es chat.txt, podrías poner algo como:

var url = "chat.txt?nocache="+Math.random();

El funcionamiento del script no cambia en nada. Para "chat.txt", el parámetro que le pases no significa nada, así que se va a ignorar. Pero, para el navegador,
"chat.txt?nochace=0.111111" y "chat.txt?nochace=0.222222" son dos documentos distintos; entonces, cuando pidas el segundo, va a buscar en el caché y como no va a encontrar un documento exactamente igual, va a volver a pedirlo.

Simple, pero funciona y las probabilidades de que te salga el mismo numerito son realmente ínfimas (Math.random() devuelve como 18 decimales o algo así).

Suerte
Califa
  #4 (permalink)  
Antiguo 09/05/2006, 18:36
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 21 años, 9 meses
Puntos: 0
Cita:
Iniciado por califa010
Buenas. Otra forma rápida de evitar que "cachee" es agregar algún parámetro al azar a la url.

Por ej, si la url desde donde cargás es chat.txt, podrías poner algo como:

var url = "chat.txt?nocache="+Math.random();

El funcionamiento del script no cambia en nada. Para "chat.txt", el parámetro que le pases no significa nada, así que se va a ignorar. Pero, para el navegador,
"chat.txt?nochace=0.111111" y "chat.txt?nochace=0.222222" son dos documentos distintos; entonces, cuando pidas el segundo, va a buscar en el caché y como no va a encontrar un documento exactamente igual, va a volver a pedirlo.

Simple, pero funciona y las probabilidades de que te salga el mismo numerito son realmente ínfimas (Math.random() devuelve como 18 decimales o algo así).

Suerte
Califa
con firefox cero problemas, con IE si le agregas el random como variable extra en el link la primera vez te lo muestra... la segunda vez que apretas (sin actualizar) no funciona... maldito IE xD
__________________
See you... y Tolkien... mucho Tolkien...
  #5 (permalink)  
Antiguo 13/05/2006, 10:02
 
Fecha de Ingreso: julio-2003
Mensajes: 26
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola, talvez el problema esta en el evento onreadystatechange, ya q no se actualiza en cada solicitud al servidor, por lo q cada vez q hagas una solicitud necesitas crear nuevamente el objeto httprequest...

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:48.