Permalink
Browse files

FIX: Ignore charset when checking mime types in LeftAndMain ajax resp…

…onses.

This is partly a fix to #7574, although quite different from the work Ingo did on Content-length.  The text/json mime type occasionally gets a charset suffixed to it by the webserver, which broke everything.

A follow-on fix from this would be to get the PHP code to supply charsets more consistently, so that webservers don't have to make things up.

Additionally, the 2nd interpretation - which treats the response as text/html - should probably only happen if the response is text/html, and throw a more helpful error otherwise.
  • Loading branch information...
1 parent 1a1740e commit 28bd9395803b36c7b8319a1bd63283abcf87a09a @sminnee sminnee committed Sep 30, 2012
Showing with 2 additions and 1 deletion.
  1. +2 −1 admin/javascript/LeftAndMain.js
@@ -379,7 +379,8 @@ jQuery.noConflict();
if(title) document.title = title;
var newFragments = {}, newContentEls;
- if(xhr.getResponseHeader('Content-Type') == 'text/json') {
+ // If content type is text/json (ignoring charset and other parameters)
+ if(xhr.getResponseHeader('Content-Type').match(/^text\/json[ \t]*;?/i)) {
newFragments = data;
} else {
// Fall back to replacing the content fragment if HTML is returned

0 comments on commit 28bd939

Please sign in to comment.