From a8fa5f2ec1030bceb9a65d0237f0c92ae4e014dd Mon Sep 17 00:00:00 2001 From: jaubourg Date: Thu, 13 Jan 2011 18:33:24 +0100 Subject: [PATCH] Moved jQuery.ajax.prefilter and jQuery.ajax.transport to jQuery.ajaxPrefilter and jQuery.ajaxTransport so that proxying the ajax method doesn't turn into a nightmare. Thanks go to scott_gonzalez and DaveMethvin for pointing out the issue. Also made ajaxSetup return "this" to enable chainable definitions -- jQuery.ajaxSetup(...).ajaxPrefilter(...).ajaxTransport(...). --- src/ajax.js | 13 +++++++------ src/ajax/jsonp.js | 5 ++--- src/ajax/script.js | 3 +-- src/ajax/xhr.js | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index a2ef439..645163a 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -161,6 +161,7 @@ jQuery.extend({ ajaxSetup: function( settings ) { jQuery.extend( true, jQuery.ajaxSettings, settings ); + return this; }, ajaxSettings: { @@ -599,7 +600,7 @@ jQuery.extend({ } // Get transport - transport = jQuery.ajax.prefilter( s , options ).transport( s ); + transport = jQuery.ajaxPrefilter( s , options ).ajaxTransport( s ); // Watch for a new set of requests if ( s.global && jQuery.active++ === 0 ) { @@ -849,7 +850,7 @@ function ajax_selectOrExecute( structure , s ) { } } - return noSelect ? jQuery.ajax : selected; + return noSelect ? jQuery : selected; } // Add an element to one of the structures in ajaxSettings @@ -908,13 +909,13 @@ function ajax_addElement( structure , args ) { } } - return jQuery.ajax; + return jQuery; } // Install prefilter & transport methods -jQuery.each( [ "prefilter" , "transport" ] , function( _ , name ) { - _ = name + "s"; - jQuery.ajax[ name ] = function() { +jQuery.each( [ "Prefilter" , "Transport" ] , function( _ , name ) { + _ = name.toLowerCase() + "s"; + jQuery[ "ajax" + name ] = function() { return ajax_addElement( _ , arguments ); }; } ); diff --git a/src/ajax/jsonp.js b/src/ajax/jsonp.js index dd04b34..1df5dd4 100644 --- a/src/ajax/jsonp.js +++ b/src/ajax/jsonp.js @@ -10,12 +10,11 @@ jQuery.ajaxSetup({ jsonpCallback: function() { return "jsonp" + jsc++; } -}); // Normalize jsonp queries // 1) put callback parameter in url or data // 2) sneakily ensure transportDataType is always jsonp for jsonp requests -jQuery.ajax.prefilter("json jsonp", function(s, originalSettings) { +}).ajaxPrefilter("json jsonp", function(s, originalSettings) { if ( s.dataTypes[ 0 ] === "jsonp" || originalSettings.jsonp || @@ -38,7 +37,7 @@ jQuery.ajax.prefilter("json jsonp", function(s, originalSettings) { } // Bind transport to jsonp dataType -}).transport("jsonp", function(s) { +}).ajaxTransport("jsonp", function(s) { // Put callback in place var responseContainer, diff --git a/src/ajax/script.js b/src/ajax/script.js index 645ddf3..8e2e89a 100644 --- a/src/ajax/script.js +++ b/src/ajax/script.js @@ -14,10 +14,9 @@ jQuery.ajaxSetup({ converters: { "text script": jQuery.globalEval } -}); // Bind script tag hack transport -jQuery.ajax.transport("script", function(s) { +}).ajaxTransport("script", function(s) { // Handle cache special case if ( s.cache === undefined ) { diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index 614bd3a..34aa832 100644 --- a/src/ajax/xhr.js +++ b/src/ajax/xhr.js @@ -10,7 +10,7 @@ var // Next active xhr id xhrUnloadAbortInstalled; -jQuery.ajax.transport( function( s , determineDataType ) { +jQuery.ajaxTransport( function( s , determineDataType ) { // Cross domain only allowed if supported through XMLHttpRequest if ( ! s.crossDomain || jQuery.support.cors ) { -- 1.7.10.4