mirror of
https://github.com/jquery/jquery.git
synced 2024-10-05 11:34:18 +00:00
Ajax: Fix for request aborted in ajaxSend
Fixes gh-1775 Close gh-1619
This commit is contained in:
parent
31d58c5cbb
commit
598ed050f6
@ -627,6 +627,12 @@ jQuery.extend({
|
||||
if ( fireGlobals ) {
|
||||
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
|
||||
}
|
||||
|
||||
// If request was aborted inside ajaxSend, stop there
|
||||
if ( state === 2 ) {
|
||||
return jqXHR;
|
||||
}
|
||||
|
||||
// Timeout
|
||||
if ( s.async && s.timeout > 0 ) {
|
||||
timeoutTimer = setTimeout(function() {
|
||||
|
@ -440,6 +440,23 @@ module( "ajax", {
|
||||
};
|
||||
});
|
||||
|
||||
ajaxTest( "#15160 - jQuery.ajax() - request manually aborted in ajaxSend", 3, {
|
||||
setup: function() {
|
||||
jQuery( document ).on( "ajaxSend", function( e, jqXHR ) {
|
||||
jqXHR.abort();
|
||||
});
|
||||
|
||||
jQuery( document ).on( "ajaxError ajaxComplete", function( e, jqXHR ) {
|
||||
equal( jqXHR.statusText, "abort", "jqXHR.statusText equals abort on global ajaxComplete and ajaxError events" );
|
||||
});
|
||||
},
|
||||
url: url("data/name.html"),
|
||||
error: true,
|
||||
complete: function() {
|
||||
ok( true, "complete" );
|
||||
}
|
||||
});
|
||||
|
||||
ajaxTest( "jQuery.ajax() - context modification", 1, {
|
||||
url: url("data/name.html"),
|
||||
context: {},
|
||||
|
Loading…
Reference in New Issue
Block a user