I've been testing this past few weeks in IE7, and I've got one specific case where $.getJSON() seems to call the server intermittently, and usually not at all. I use $.getJSON() a lot. In FF and Safari it always works, and even in IE7 it usually seems to work, but not in this case for some reason. I've tried setting cache to false:
$.ajaxSetup({ cache: false }); ...but that doesn't seem to have fixed it yet. So now I'm trying plain $.ajax() instead of $.getJSON: $.ajax({ url: "/myFunction?type=json", cache: false, mode: "sync", data: { theDataToCheck:theDataToCheck, GramsOrML: GramsOrML, UnitCount: UnitCount, UnitsOfMeasurement: UnitsOfMeasurement, LetOtherPeopleUseThisInfo:LetOtherPeopleUseThisInfo, ajax_call: 'true' }, dataType: "jsonp", success: function(data) { //handle data //data comes back undefined in IE7 } }); This always sends the call to the server, so I'm part of the way there towards fixing this bug. However, although this $.ajax() call always works in FireFox and Safari, in IE7, the data seems to come back undefined. Here's the skeleton of the PHP code: $JasonCallBack = $_REQUEST['callback']; //put return data in $theData array $S = $this->json->encode($theData); $S = $JasonCallBack . '(' . $S . ');'; echo $S; What can I do to get the data variable to be decoded properly in my $.ajax() call in IE7?