Code Igniter phiên bản '2.0.3' Jquery 1,7 Lịch sử Jquery PluginJquery.get() không hoạt động trong IE8/9. Sẽ không tải những trang lưu trữ 304 không thay đổi về
Hi guys,
Tôi có một ứng dụng CodeIgniter mà tôi đã xây dựng trong một ajax thời trang. Tôi có một chức năng như sau:
$(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');
});
Tất cả nó có phải nó bắt nhấp chuột vào các yếu tố neo với một lớp ajax_link và gửi đáp ứng với một chức năng để xử lý các vị trí của dữ liệu đáp ứng vào trang.
Tính năng này hoạt động trong Chrome và FF. Tôi nhấp vào liên kết, jQuery thực hiện yêu cầu get, tôi lấy lại một đối tượng JSON và hàm history.pushState() của tôi đưa một số dữ liệu json vào trang của tôi.
Sự cố tôi gặp phải trong IE8. Về cơ bản những gì đang xảy ra là khi tôi lần đầu tiên mở ứng dụng, các liên kết hoạt động nhưng chúng chỉ hoạt động một lần. Lần thứ hai tôi bấm một liên kết nó:
- Liệu các ajax
GET
- Nhận một phản ứng của 304 (Không thay đổi)
- Không gọi hàm callback
jQuery.get()
và do đó dừng lại chết.
Nếu tôi xóa bộ nhớ cache hoạt động lại. Giả sử của tôi là IE đang thực hiện yêu cầu nhận, nhưng sau đó nó thấy rằng nó đã được yêu cầu chính xác cùng một tệp trong quá khứ ... và vì vậy dừng quá trình hoàn toàn.
Có ai biết giải pháp cho điều này không? Tôi đã có một cái nhìn cho đề cập đến 304 lỗi và lỗi với ajax và bộ nhớ đệm trong IE nhưng đã không tìm thấy một vấn đề giống hệt với tôi chỉ được nêu ra.
Bất kỳ giúp nhiều đánh giá cao
(Tested trên Windows Virtual Machine IE8, và IE 8 Mode trong Internet Explorer 9)
Giải Quyết
Chỉ cần thêm đoạn mã sau vào tài liệu của tôi chức năng .ready và vấn đề biến mất.
$.ajaxSetup ({cache: false});
Cảm ơn câu trả lời của bạn, xin lỗi đã mất quá nhiều thời gian để chấp nhận nó. Đây thực sự là giải pháp tôi cần. –
cũng xem: http://stackoverflow.com/questions/1013637/unexpected-caching-of-ajax-results-in-ie8 – Costa