ฉันมีปัญหาร้ายแรงกับผลลัพธ์การแคชของ Internet Explorer จากคำขอ JQuery Ajax
ฉันมีส่วนหัวในหน้าเว็บของฉันที่ได้รับการอัปเดตทุกครั้งที่ผู้ใช้ไปที่หน้าใหม่ เมื่อโหลดหน้าเสร็จแล้วก็ทำเช่นนี้
$.get("/game/getpuzzleinfo", null, function(data, status) {
var content = "<h1>Wikipedia Maze</h1>";
content += "<p class='endtopic'>Looking for <span><a title='Opens the topic you are looking for in a separate tab or window' href='" + data.EndTopicUrl + "' target='_blank'>" + data.EndTopic + "<a/></span></p>";
content += "<p class='step'>Step <span>" + data.StepCount + "</span></p>";
content += "<p class='level'>Level <span>" + data.PuzzleLevel.toString() + "</span></p>";
content += "<p class='startover'><a href='/game/start/" + data.PuzzleId.toString() + "'>Start Over</a></p>";
$("#wikiheader").append(content);
}, "json");
เพียงแค่ฉีดข้อมูลส่วนหัวลงในหน้า คุณสามารถตรวจสอบได้โดยไปที่www.wikipediamaze.comจากนั้นเข้าสู่ระบบและเริ่มไขปริศนาใหม่
ในทุกเบราว์เซอร์ที่ฉันทดสอบ (Google Chrome, Firefox, Safari, Internet Explorer) มันใช้งานได้ดียกเว้นใน IE Eveything ได้รับการฉีดได้ดีใน IE ในครั้งแรกแต่หลังจากนั้นก็ไม่เคยโทรไป/game/getpuzzleinfo
เลย มันเหมือนกับว่ามันเก็บผลลัพธ์หรืออะไรบางอย่างไว้
ถ้าฉันเปลี่ยนการโทรเป็น$.post("/game/getpuzzleinfo", ...
IE ก็รับมันได้ดี แต่แล้ว Firefox ก็หยุดทำงาน
ใครช่วยให้ความกระจ่างเกี่ยวกับเรื่องนี้ได้บ้างว่าเหตุใด IE จึงแคชการ$.get
โทร ajax ของฉัน
อัปเดต
ตามคำแนะนำด้านล่างฉันได้เปลี่ยนคำขอ ajax เป็นสิ่งนี้ซึ่งแก้ไขปัญหาของฉันได้:
$.ajax({
type: "GET",
url: "/game/getpuzzleinfo",
dataType: "json",
cache: false,
success: function(data) { ... }
});