X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax.js;h=2c4f13cb2c3b1992b19863668432b34ec7ee1f81;hb=2084e01780b57e5becbb00817b883175ef67b0b5;hp=ffd870c284e854aa710a9f7dcf53672209919d4b;hpb=d1931a8241dcac1617cc8388f6dd6284c89c545d;p=jquery.git diff --git a/src/ajax.js b/src/ajax.js index ffd870c..2c4f13c 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -238,23 +238,24 @@ jQuery.extend({ // Handle JSONP-style loading var customJsonp = window[ jsonp ]; + window[ jsonp ] = function( tmp ) { data = tmp; jQuery.ajax.handleSuccess( s, xhr, status, data ); jQuery.ajax.handleComplete( s, xhr, status, data ); if ( jQuery.isFunction( customJsonp ) ) { - customJsonp( tmp ); - } - else { - // Garbage collect - window[ jsonp ] = undefined; - - try { - delete window[ jsonp ]; - } catch( jsonpError ) {} - } - + customJsonp( tmp ); + + } else { + // Garbage collect + window[ jsonp ] = undefined; + + try { + delete window[ jsonp ]; + } catch( jsonpError ) {} + } + if ( head ) { head.removeChild( script ); } @@ -444,8 +445,9 @@ jQuery.extend({ // Fire the complete handlers if ( !jsonp ) { - jQuery.ajax.handleComplete( s, xhr, status, data ); - } + jQuery.ajax.handleComplete( s, xhr, status, data ); + } + if ( isTimeout === "timeout" ) { xhr.abort(); } @@ -482,7 +484,7 @@ jQuery.extend({ // Send the data try { - xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null ); + xhr.send( (type !== "GET" && s.data) || null ); } catch( sendError ) { jQuery.ajax.handleError( s, xhr, null, e );