Jquery.get () no funciona en IE8 / 9. No cargará las páginas almacenadas en caché 304 no modificadas

Code Igniter versión '2.0.3' Jquery 1.7 Complemento Jquery History

Hola chicos

Tengo una aplicación CodeIgniter que he creado de manera ajax. Tengo una función de la siguiente manera:

$(document).on('click','.ajax_link',function(e){
    //Stop the normal href action
    e.preventDefault();

    //Grab the destination URL
    var new_url = $(this).attr('href')

    //Grab the content via ajax and pass it to the history change function
    $.get(base_url+new_url,function(data){
        History.pushState({
            content:data.content,
            url:data.url
        }, data.title, data.url);
        //Refresh some site variables
        refresh();
    },'json');
});

Todo lo que hace, captura clics en elementos de anclaje con una clase de ajax_link y envía la respuesta a una función que maneja la ubicación de los datos de respuesta en la página.

Esto funciona en Chrome y FF. Hago clic en el enlace, jQuery realiza la solicitud de obtención, recupero un objeto JSON y mi función history.pushState () inyecta algunos de los datos json en mi página.

El problema que tengo está en IE8. Esencialmente, lo que sucede es cuando abro la aplicación por primera vez, los enlaces funcionan pero solo funcionan una vez. La segunda vez que hago clic en un enlace:

Hace el ajaxGETRecibe una respuesta de 304 (no modificado) No llama a lajQuery.get() función de devolución de llamada y, por lo tanto, se detiene en seco.

Si borro el caché, vuelve a funcionar. Entonces, supongo que IE está haciendo la solicitud de obtención, pero luego ve que ya solicitó exactamente el mismo archivo en el pasado ... y así detiene el proceso por completo.

¿Alguien sabe de una solución para esto? He buscado menciones de 304 errores y errores con ajax y almacenamiento en caché en IE, pero todavía no he encontrado un problema idéntico al mío.

Cualquier ayuda muy apreciada

(Probado en Windows Virtual Machine IE8 e IE 8 Mode en Internet Explorer 9)

Resuelto

olo necesitaba agregar el siguiente código a mi función document.ready y el problema desapareció.

$.ajaxSetup ({cache: false});

Respuestas a la pregunta(4)

Su respuesta a la pregunta