Code Igniter версии '2.0.3' JQuery 1.7 Плагин JQuery History
Привет, ребята,
У меня есть приложение CodeIgniter, которое я создал в стиле ajax. У меня есть следующая функция:
$(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');
});
Все, что он делает, это захват щелчков по элементам привязки с помощью класса ajax_link и отправка ответа функции, которая обрабатывает размещение этих данных ответа на странице.
Это работает в Chrome и FF. Я нажимаю ссылку, jQuery отправляет запрос на получение, я возвращаю объект JSON, и моя функция history.pushState () вставляет некоторые данные json на мою страницу.
У меня проблема в IE8. По сути, когда я впервые открываю приложение, ссылки работают, но работают только один раз. Во второй раз я щелкаю ссылку:
GET
jQuery.get ()
функция обратного вызова и поэтому перестает работать. Если я очищу кеш, он снова заработает. Итак, я предполагаю, что IE выполняет запрос на получение, но затем он видит, что он уже запрашивал тот же самый файл в прошлом ... и поэтому полностью останавливает процесс.
Кто-нибудь знает решение этой проблемы? Я искал упоминания о 304 ошибках и ошибках с ajax и кешированием в IE, но пока не нашел проблемы, идентичной моей.
Любая помощь очень ценится
(Протестировано на виртуальной машине Windows IE8 и в режиме IE 8 в Internet Explorer 9)
Решено
Просто нужно было добавить следующий код в мою функцию document.ready и проблему исчез.
$.ajaxSetup ({cache: false});