Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Simplified some of the logic for handling the ajax aborts, making sur…
…e that ajaxStop isn't called twice.
- Loading branch information
Showing
with
9 additions
and
12 deletions.
-
+9
−12
src/ajax.js
There are no files selected for viewing
|
|
@@ -390,18 +390,19 @@ jQuery.extend({ |
|
|
|
|
|
// Wait for a response to come back |
|
|
var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { |
|
|
// The request was aborted, clear the interval and decrement jQuery.active |
|
|
// The request was aborted |
|
|
if ( !xhr || xhr.readyState === 0 ) { |
|
|
// Opera doesn't call onreadystatechange before this point |
|
|
// so we simulate the call |
|
|
if ( !requestDone ) { |
|
|
complete(); |
|
|
} |
|
|
|
|
|
requestDone = true; |
|
|
if ( xhr ) { |
|
|
xhr.onreadystatechange = jQuery.noop; |
|
|
} |
|
|
|
|
|
// Handle the global AJAX counter |
|
|
if ( s.global && ! --jQuery.active ) { |
|
|
jQuery.event.trigger( "ajaxStop" ); |
|
|
} |
|
|
|
|
|
// The transfer is complete and the data is available, or the request timed out |
|
|
} else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) { |
|
|
requestDone = true; |
|
|
@@ -456,15 +457,11 @@ jQuery.extend({ |
|
|
xhr.abort = function() { |
|
|
oldAbort.call( xhr ); |
|
|
|
|
|
if ( !requestDone ) { |
|
|
complete(); |
|
|
} |
|
|
|
|
|
if ( xhr ) { |
|
|
xhr.onreadystatechange = null; |
|
|
xhr.readyState = 0; |
|
|
} |
|
|
|
|
|
requestDone = true; |
|
|
onreadystatechange(); |
|
|
}; |
|
|
} catch(e) { } |
|
|
|
|
|
|