X-Git-Url: http://git.asbjorn.it/?p=jquery.git;a=blobdiff_plain;f=src%2Fajax%2Fjsonp.js;h=16a4c2fd2e554c58101b8985ff4ec25f6da5023a;hp=883876fc0b1733ee58916def06c0d3df7385fa4e;hb=325dcdc2ab05173f809b9d83af59918b3695cc23;hpb=158fa822dea3198de5a4bcff3955b869ebb758c8 diff --git a/src/ajax/jsonp.js b/src/ajax/jsonp.js index 883876f..16a4c2f 100644 --- a/src/ajax/jsonp.js +++ b/src/ajax/jsonp.js @@ -1,7 +1,7 @@ (function( jQuery ) { var jsc = jQuery.now(), - jsre = /(\=)(?:\?|%3F)(&|$)|()(?:\?\?|%3F%3F)()/i; + jsre = /(\=)\?(&|$)|()\?\?()/i; // Default jsonp settings jQuery.ajaxSetup({ @@ -9,12 +9,12 @@ jQuery.ajaxSetup({ jsonpCallback: function() { return "jsonp" + jsc++; } +}); // Detect, normalize options and install callbacks for jsonp requests -// (dataIsString is used internally) -}).ajaxPrefilter("json jsonp", function(s, originalSettings, dataIsString) { +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString /* internal */ ) { - dataIsString = ( typeof(s.data) === "string" ); + dataIsString = ( typeof s.data === "string" ); if ( s.dataTypes[ 0 ] === "jsonp" || originalSettings.jsonpCallback || @@ -46,23 +46,25 @@ jQuery.ajaxSetup({ s.url = url; s.data = data; - window [ jsonpCallback ] = function( response ) { - responseContainer = [response]; + window[ jsonpCallback ] = function( response ) { + responseContainer = [ response ]; }; - s.complete = [function() { + s.complete = [ function() { // Set callback back to previous value window[ jsonpCallback ] = previous; // Call if it was a function and we have a response if ( previous) { - if ( responseContainer && jQuery.isFunction ( previous ) ) { - window[ jsonpCallback ] ( responseContainer[0] ); + if ( responseContainer && jQuery.isFunction( previous ) ) { + window[ jsonpCallback ] ( responseContainer[ 0 ] ); } } else { // else, more memory leak avoidance - try{ delete window[ jsonpCallback ]; } catch(e){} + try{ + delete window[ jsonpCallback ]; + } catch( e ) {} } }, s.complete ]; @@ -81,6 +83,6 @@ jQuery.ajaxSetup({ // Delegate to script return "script"; } -}); +} ); })( jQuery );