From: John Resig Date: Wed, 21 Jan 2009 21:46:53 +0000 (+0000) Subject: Landed a fix for timeouts not being aborted properly. Fixes jQuery bug #3874. X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=00b70c75278896495365e25f0327af4a1b61acce;p=jquery.git Landed a fix for timeouts not being aborted properly. Fixes jQuery bug #3874. --- diff --git a/src/ajax.js b/src/ajax.js index 9e30eef..8262bc7 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -380,6 +380,9 @@ jQuery.extend({ // Fire the complete handlers complete(); + if ( isTimeout ) + xhr.abort(); + // Stop memory leaks if ( s.async ) xhr = null; @@ -394,14 +397,8 @@ jQuery.extend({ if ( s.timeout > 0 ) setTimeout(function(){ // Check to see if the request is still happening - if ( xhr ) { - if( !requestDone ) - onreadystatechange( "timeout" ); - - // Cancel the request - if ( xhr ) - xhr.abort(); - } + if ( xhr && !requestDone ) + onreadystatechange( "timeout" ); }, s.timeout); }