Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2007, 22:06
Bkwxs
 
Fecha de Ingreso: marzo-2005
Mensajes: 171
Antigüedad: 19 años
Puntos: 0
Ajax + Firefox + Cache = problema

Gente, tengo un problema con el cache de Firefox y Ajax.
Tengo un formulario en el que envio unos datos mediante ajax y en un div me escribe la respuesta, que es poco de texto y una imagen (en realidad lo que escribe un tag img con un src a un php que genera la imagen).
Cuando envio el formulario por primera vez va todo bien, me devuelve la imagen y el texto dependiendo de lo que ingrese en el formulario. Pero si yo envio el formulario otra vez con distintos valores, el texto cambia, pero la imagen sigue siendo siempre la misma.
Llegue a la conclusion de que es un problema del cache de Firefox, ya que en IE anda perfecto.
El problema que veo yo es que la imagen (como explique arriba) es un archivo php que la genera. Siempre es el mismo archivo php, supongo que por eso es que firefox me toma el del cache.
Ya probe todas las soluciones que hay en el foro:

probe la solucion del lado del servidor:
Código PHP:
header ("Expires: Fri, 14 Mar 1980 20:53:00 GMT"); //la pagina expira en fecha pasada
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache"); //PARANOIA, NO GUARDAR EN CACHE 
Probe con esto:
Código PHP:
header('Pragma: no-cache');
header('Expires: -1');
header('Cache-Control: private');
header("Cache-Control: no-store, no-cache, must-revalidate");
header('Cache-Control: max-stale=0');
header('Cache-Control: post-check=0');
header('Cache-Control: pre-check=0');
header('Keep-Alive: timeout=3, max=993'); 
Probe con la solucion del lado del cliente:
Código:
my_r = parseInt(Math.random()*999999999999999);
ajax.send("go=agregar&caso=simple&ir="+nominterno+"&msg="+msg+'&my_r='+my_r);
Pero ninguna funciono.
La verdad que ya no se me ocurre nada mas que probar.
Si alguno tiene una idea, bienvenido sea.
Gracias por adelantado
Saludos