diff options
author | jaubourg <j@ubourg.net> | 2013-01-06 00:41:08 +0100 |
---|---|---|
committer | Dave Methvin <dave.methvin@gmail.com> | 2013-01-07 10:34:11 -0500 |
commit | f6df0301c81fca4b52eb2667f33a1469f2cac41d (patch) | |
tree | b4b974f7a99d9285a111c907e029d7563d8aaf18 /src/ajax/xhr.js | |
parent | 17049c73bc5bf1a41cce4a5b648f55da7bbac533 (diff) | |
download | jquery-f6df0301c81fca4b52eb2667f33a1469f2cac41d.tar.gz jquery-f6df0301c81fca4b52eb2667f33a1469f2cac41d.zip |
Fixes comments per @rwldrn. Makes sure failing requests from local protocol yields status 404, not 0.
Diffstat (limited to 'src/ajax/xhr.js')
-rw-r--r-- | src/ajax/xhr.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index 9569c7064..72703a0b1 100644 --- a/src/ajax/xhr.js +++ b/src/ajax/xhr.js @@ -8,7 +8,8 @@ var xhrSupported = jQuery.ajaxSettings.xhr(), xhrSuccessStatus = { // file protocol always yields status code 0, assume 200 0: 200, - // IE - #1450: sometimes returns 1223 when it should be 204 + // Support: IE9 + // #1450: sometimes IE returns 1223 when it should be 204 1223: 204 }; @@ -23,7 +24,6 @@ jQuery.ajaxTransport(function( options ) { send: function( headers, complete ) { var i, xhr = options.xhr(); - // Open the socket xhr.open( options.type, options.url, options.async, options.username, options.password ); // Apply custom fields if provided if ( options.xhrFields ) { @@ -55,13 +55,18 @@ jQuery.ajaxTransport(function( options ) { if ( type === "abort" ) { xhr.abort(); } else if ( type === "error" ) { - complete( xhr.status, xhr.statusText ); + complete( + // file protocol always yields status 0, assume 404 + xhr.status || 404, + xhr.statusText + ); } else { complete( xhrSuccessStatus[ xhr.status ] || xhr.status, xhr.statusText, - // IE - #11426: When requesting binary data, IE9 will - // throw an exception on any attempt to access responseText + // Support: IE9 + // #11426: When requesting binary data, IE9 will throw an exception + // on any attempt to access responseText typeof xhr.responseText === "string" ? { text: xhr.responseText } : undefined, @@ -81,7 +86,6 @@ jQuery.ajaxTransport(function( options ) { // handled in jQuery.ajax (so no try/catch here) xhr.send( options.hasContent && options.data || null ); }, - abort: function() { if ( callback ) { callback(); |