diff options
author | Oleg Gaidarenko <markelog@gmail.com> | 2015-07-10 20:58:43 +0300 |
---|---|---|
committer | Oleg Gaidarenko <markelog@gmail.com> | 2015-07-13 04:09:31 +0300 |
commit | 3d850edb13b8dfea2c09327f4561ca05cb7dc3bd (patch) | |
tree | 1391ed788eea451fba83b2a36f9307d6065e3aba /src | |
parent | 1682d36be2453007583c3c18d5ebbfa743322ff0 (diff) | |
download | jquery-3d850edb13b8dfea2c09327f4561ca05cb7dc3bd.tar.gz jquery-3d850edb13b8dfea2c09327f4561ca05cb7dc3bd.zip |
Ajax: Remove jsonp callbacks through "jQuery#removeProp" method
Fixes gh-2323
Closes gh-2464
Ref a2ae215d999637e8d9d0906abcbf6b1ca35c8e6e
Diffstat (limited to 'src')
-rw-r--r-- | src/ajax/jsonp.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ajax/jsonp.js b/src/ajax/jsonp.js index a04898f67..f469344e0 100644 --- a/src/ajax/jsonp.js +++ b/src/ajax/jsonp.js @@ -64,8 +64,14 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { // Clean-up function (fires after converters) jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } // Save back as free if ( s[ callbackName ] ) { |