29 Sep, 2008
Evitar la cache en llamadas ajax con IE
Posted by: theeleb In: Informatica|Programacion
Hace un par de semanas quizás mas que teniamos un problema con las llamadas ajax en nuestra aplicacion, en el trabajo. Basicamente haciamos una llamada ajax para cargar unos datos en una determinada zona de la pagina. Para realizar esa llamada enviamos un valor que para identificar el objeto en base de datos y poder sacar un listado relacionado con ese objeto. El problema surge cuando actualizamos ese listado, ya sea agregando o eliminando. Al hacer la llamada ajax enviando el mismo valor, el internet explorer reconocia esa llamada y devolvia un resultado de su cache, obviando las actualizaciones hechas en el listado. No se si me vais siguiendo ….
Hoy al llegar al trabajo, ya teniamos una solucion implementada, y es de lo mas sencillo … esta que os voy a comentar y mas soluciones las podreis encontrar aqui: http://www.formatoweb.com.ar, que por salvarme la vida en el curro va a mis favoritos. Ala!
Basicamente lo que hicimos es enviar una variable aleatoria en la url, bajo el nombre de ‘nocache’, desde javascript con cada llamada ajax.
Luce tan sencillo como esto:
/* Funcion para evitar el cacheo de IE en las llamadas de ajax. */
function noCache() {
var aleatorio = Math.random();
return aleatorio;
}
Bueno espero que les sirva, aprovechando cree la categoria de programacion.
Un saludo
Theeleb.
PD: Luis eres un crack!