Skip to content
Permalink
Browse files

Moved jQuery.ajax.prefilter and jQuery.ajax.transport to jQuery.ajaxP…

…refilter 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(...).
  • Loading branch information...
jaubourg committed Jan 13, 2011
1 parent 44fc87f commit a8fa5f2ec1030bceb9a65d0237f0c92ae4e014dd
Showing with 11 additions and 12 deletions.
  1. +7 −6 src/ajax.js
  2. +2 −3 src/ajax/jsonp.js
  3. +1 −2 src/ajax/script.js
  4. +1 −1 src/ajax/xhr.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 );
};
} );
@@ -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,
@@ -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 ) {
@@ -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 ) {

0 comments on commit a8fa5f2

Please sign in to comment.
You can’t perform that action at this time.