I'm having a serious issue with Internet Explorer cachings results from a JQuery Ajax request.
I have header on my web page that get's updated everytime a users navigates to a new page. Once the page is loaded I do this
$.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");
It just injects header info into the page. You can check it out by going to www.wikipediamaze.com and then logging in and starting a new puzzle.
In every browser I've tested (google, firefox, safari, ie) it works great EXCEPT in IE. Eveything get's injected just fine in IE THE FIRST TIME but after that it never even makes the call to "/game/getpuzzleinfo" it's like it has cached the results or something.
If I change the call to $.post("/game/getpuzzleinfo", ...
IE picks it up just fine. But then Firefox quits working.
Can someone please shed some light on this as to why IE is chaching my $.get
ajax calls?
Thanks~
UPDATE
Per the suggestion below, I've changed my ajax request to this which fixed my problem:
$.ajax({
type: "GET",
url: "/game/getpuzzleinfo",
dataType: "json",
cache: false,
success: function(data) { ... }
});