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

Obtener datos desde no-cache

Estas en el tema de Obtener datos desde no-cache en el foro de Frameworks JS en Foros del Web. Buen día compañeros del foro. Tengo unos datos que se guardan de forma dinámica en un archivo de texto (.txt), los cuales obtengo mediante AJAX. ...
  #1 (permalink)  
Antiguo 22/09/2011, 15:52
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Obtener datos desde no-cache

Buen día compañeros del foro.

Tengo unos datos que se guardan de forma dinámica en un archivo de texto (.txt), los cuales obtengo mediante AJAX. Me acabo de dar cuenta que (al parecer), los datos están siendo obtenidos desde el caché, y es para obtener resultados verdaderos, es importante que esos datos sean obtenidos siempre directo del servidor.

Leí que si los datos son obtenidos desde PHP, se puede agregar una cabecera para que no se guarde en caché, pero ya que uso un archivo de texto plano... ¿Cómo puedo hacer para obtener siempre el archivo directo del servidor?
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #2 (permalink)  
Antiguo 23/09/2011, 00:25
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Obtener datos desde no-cache

Podrías colocar el código que estás usando por favor. Usas Jquery? Sí es así tiene como evitar el cache.

jQuery.ajax() con utilizando la configuración cache = false, por defecto es true.

Ya si lo necesitas con PHP las cabeceras pueden ser estás:

Código PHP:
Ver original
  1. header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
  2. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  3. header("Cache-Control: no-store, no-cache, must-revalidate");
  4. header("Cache-Control: post-check=0, pre-check=0", false);
  5. header("Pragma: no-cache");

Espero que te haya servido. Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 23/09/2011, 04:52
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Obtener datos desde no-cache

Más sencillo aún, agregale un valor aleatorio/time-based a la url (en el request ajax):

foo.com/data/test.text

foo.com/data/test.text?123456789
__________________
blog | @aijoona

Última edición por Aijoona; 23/09/2011 a las 06:21 Razón: Aclaracion de la url
  #4 (permalink)  
Antiguo 23/09/2011, 12:52
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Obtener datos desde no-cache

Cita:
Iniciado por andresdzphp Ver Mensaje
Usas Jquery? Sí es así tiene como evitar el cache.

jQuery.ajax() con utilizando la configuración cache = false, por defecto es true.
JavaScript puro, con un XMLHttpRequest. Y como ya había mencionado antes, lo hago con un archivo de texto plano, por lo que no puedo usar las cabeceras de PHP...

@Aijoona, probaré lo que me dices, tengo entendido que esto lo hago con un Math.random().

¡Gracias!
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #5 (permalink)  
Antiguo 23/09/2011, 13:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Obtener datos desde no-cache

Bueno este post debería ir es en ajax. Con jquery le agregas cache = false, y ya te olvidas de lo que dice @Aijoona. Con javascript puro si puedes hacer lo que dice el compañero. Pensé que estabas usando algún frameworks. Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 23/09/2011, 13:22
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Obtener datos desde no-cache

Parece ser que está funcionando sin problemas con la siguiente línea:

Código PHP:
xhr.open('GET',url+'?r='+Math.random(),false); 
¡Muchas gracias!
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...

Etiquetas: ajax, cache
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 00:47.