[Tips]Problema de Cache con IE8 y jQuery
Hola, quiero compartir este pequeño tip, ya que en algún momento te puede servir (por lo menos a mi me sirvió de lujo!").
Resulta que Internet Explorer 8, dentro de todas las optimizaciones para mostrar rápidamente las páginas, tiene un sistema de cache bastante agresivo (por decirlo de alguna manera), entonces, peticiones de Ajax con JQuery como:
$.ajax({
url:"engine/usuarios_funciones.asp",
type:"POST",
data: "nombre=" + $("#TxNombre").val,
async:true,
success:function(){
//Alguna Acción
},
error:function(){
alert("Error al intentar Ingresar");
}
});
funcionan muy bien en IE9, Chrome, Firefox, Safari, Opera, en IE9 en modo compatibilidad de IE8 , también, pero en IE8, nada, ni siquiera envía un error JavaScript, revisando con la consola de IE, y haciendo depuración de código JS, aparentemente nada extraño sucede, sin embargo la petición Ajax, no funcionaba. Luego en la barra seleccione la opción “Siempre actualizar desde el servidor”

Y si, funcionó!, entonces modifiqué la llamada:
$.ajax({
url:"engine/usuarios_funciones.asp",
type:"POST",
data: "nombre=" + $("#TxNombre").val,
async:true,
cache:false,
success:function(){
//Alguna Acción
},
error:function(){
alert("Error al intentar Ingresar");
}
});
Colocando la opción cache:false, que nos debería permitir el mismo resultado que al seleccionar “siempre actualizar desde el servidor”. Pero al probarlo, de nuevo el mismo problema: no funciona.
La solución, es la configuración global de las peticiones Ajax mediante jQuery, es bastante sencilla, y la puedes dejar al principio de tu código BLOCKED SCRIPT
$.ajaxSetup({ cache: false });
Y Listo!, funcionó!, lo extraño en un principio, es que solo algunas llamadas tenían este problema, otras funcionaban perfectamente, me imagino que el engine de cache de IE8 estaba metiendo la cola, jejejej.
Espero que te sirva
Saludos,
Gonzalo
PD: Estoy posteando menos este mes por que estoy a mega ultra súper a full, casi no duermo, pero me tomo el tiempito de repente para compartir algo, del próximo mes, creo que voy a tener un poco más de tiempo 