xhrUnloadAbortInstalled,
// XHR used to determine supports properties
- testXHR,
-
- // Keep track of isLocal in case it gets removed
- // from ajaxSettings later on
- protocolIsLocal = jQuery.ajaxSettings.isLocal;
+ testXHR;
// Create the request object
// (This is still attached to ajaxSettings for backward compatibility)
* Additionally XMLHttpRequest can be disabled in IE7/IE8 so
* we need a fallback.
*/
- ( protocolIsLocal ?
- createActiveXHR :
- function() {
- return createStandardXHR() || createActiveXHR();
- }
- ) :
+ function() {
+ return !this.isLocal && createStandardXHR() || createActiveXHR();
+ } :
// For all other browsers, use the standard XMLHttpRequest object
createStandardXHR;
// IE - #1450: sometimes returns 1223 when it should be 204
if ( status === 1223 ) {
status = 204;
+ // Various - #8177: a Not Modified response was received
+ // yet no conditional request headers was provided
+ } else if ( status === 304 &&
+ !headers[ "if-modified-since" ] &&
+ !headers[ "if-none-match" ] ) {
+ status = 200;
// Status 0 encompasses several cases
} else if ( !status ) {
// Cross-domain
status = 302;
}
// All same-domain: for local files, 0 is a success
- } else if( protocolIsLocal ) {
+ } else if( s.isLocal ) {
status = 200;
// Opera: this notifies success for all requests
// (verified in 11.01). Patch welcome.