Fixed #1557, although it doesn't appear to be just an FF3 problem. In this case,...
[jquery.git] / src / ajax.js
index 225165a..6821cec 100644 (file)
@@ -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;