У мене є серйозна проблема з результатами кешування 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) { ... }
});