X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Ftransports%2Fjsonp.js;h=f16b394bac43c39149f48229268bb85199f4ea43;hb=981d1e08eb00f4b5c29ad1f3977a45e30c93ad70;hp=d9e77f2f381cde0eeeb9a7882e5b9a6e83eea5e4;hpb=2e129759b44c022cdee5ce1057a7693d2a081263;p=jquery.git diff --git a/src/transports/jsonp.js b/src/transports/jsonp.js index d9e77f2..f16b394 100644 --- a/src/transports/jsonp.js +++ b/src/transports/jsonp.js @@ -11,12 +11,14 @@ jQuery.ajaxSettings.jsonpCallback = function() { // Normalize jsonp queries // 1) put callback parameter in url or data -// 2) ensure transportDataType is json +// 2) sneakily ensure transportDataType is json // 3) ensure options jsonp is always provided so that jsonp requests are always // json request with the jsonp option set -jQuery.xhr.prefilter( function(s) { +jQuery.ajax.prefilter("json jsonp", function(s) { - var transportDataType = s.dataTypes[0]; + var transportDataType = s.dataTypes[ 0 ]; + + s.dataTypes[ 0 ] = "json"; if ( s.jsonp || transportDataType === "jsonp" || @@ -34,14 +36,10 @@ jQuery.xhr.prefilter( function(s) { s.url = url; s.data = data; - - s.dataTypes[0] = "json"; } -}); - // Bind transport to json dataType -jQuery.xhr.bindTransport("json", function(s) { +}).transport("json", function(s) { if ( s.jsonp ) { @@ -72,18 +70,16 @@ jQuery.xhr.bindTransport("json", function(s) { }, s.complete ]; // Use data converter to retrieve json after script execution - s.dataConverters["script => json"] = function() { + s.dataConverters["script json"] = function() { if ( ! responseContainer ) { - jQuery.error("Callback '" + jsonpCallback + "' was not called"); + jQuery.error( jsonpCallback + " was not called" ); } return responseContainer[ 0 ]; }; // Delegate to script transport return "script"; - } - }); })( jQuery );