Ticket #11611 (closed bug: patchwelcome)
on IE8 `cache: false` needs to be obeyed in all ajax requests or maybe even forced
|Reported by:||walde.christian@…||Owned by:||jaubourg|
The problem is at this position:
This line skips the logic triggered by cache: false if the request type is anything but HEAD or GET. I assume this is done for optimization, because most browsers won't cache on other types of requests.
However IE8 does not play by those rules.
I was in this situation:
host.tld/foo was first loaded as a normal GET request via the browser address bar. Modifications to the server session were then done via other ajax requests. Finally a POST request without any parameters was done to host.tld/foo, which would normally start processing of the data in the server session.
IE8 however did not even hit the server and instead delivered the cache of the GET request to host.tld/foo to jquery's ajax function, which expected a JSON reply and simply threw a "Syntax Error" when faced with HTML.
Normally this would be fixed easily with cache: false, but since that option is ignored on requests other than HEAD or GET i had to modify the url manually, which resolved the situation. As such, the logic should be modified to either of these options:
- obey cache option on all request types
- obey cache option on all request types in IE8
- force cache option on all request types in IE8
Personally i would prefer c., since it would transparently work around this IE bug for other users, but i do not know how feasible it is.
Note: This is with a real IE8 on WinXP, not IE9 in compatibility mode.
- Owner set to jaubourg
- Priority changed from undecided to low
- Status changed from new to assigned
- Component changed from unfiled to ajax
- Milestone changed from None to 1.next
- Status changed from assigned to closed
- Resolution set to patchwelcome