X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fajax.js;h=6821cecc4bdc7e60ca4cebf404d8b7657ffe1aab;hb=4b8f6cdc86c395fb92c7d50e8642118963232af4;hp=09aba1410777a959b356e1e1a742acae4e3820a8;hpb=80a26a326696599dad5b0bf88f8fa8e242e711e5;p=jquery.git diff --git a/src/ajax.js b/src/ajax.js index 09aba141..6821cec 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -174,7 +174,7 @@ jQuery.extend({ } // Build temporary JSONP function - if ( s.dataType == "json" && (s.data && jsre.test( s.data ) || s.url.match(jsre)) ) { + if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) { jsonp = "jsonp" + jsc++; // Replace the =? sequence both in the query string and the data @@ -217,7 +217,7 @@ jQuery.extend({ // If we're requesting a remote document // and trying to load JSON or Script - if ( !s.url.indexOf("http") && s.dataType == "script" ) { + if ( !s.url.indexOf("http") && ( s.dataType == "script" || s.dataType =="json" ) ) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.src = s.url; @@ -270,7 +270,7 @@ jQuery.extend({ s.beforeSend(xml); if ( s.global ) - jQuery.event.trigger("ajaxSend", [xml, s]); + jQuery.event.trigger("ajaxSend", [xml, s]); // Wait for a response to come back var onreadystatechange = function(isTimeout){ @@ -397,8 +397,9 @@ jQuery.extend({ // Determines if an XMLHttpRequest was successful or not httpSuccess: function( r ) { try { + // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 return !r.status && location.protocol == "file:" || - ( r.status >= 200 && r.status < 300 ) || r.status == 304 || + ( r.status >= 200 && r.status < 300 ) || r.status == 304 || r.status == 1223 || jQuery.browser.safari && r.status == undefined; } catch(e){} return false;