From 3e1d3d0f21d1b292fe721b4f483b3a3bc2dadd86 Mon Sep 17 00:00:00 2001 From: jaubourg Date: Thu, 20 Jan 2011 16:22:36 +0100 Subject: [PATCH] Revises the way arguments are handled in ajax. --- src/ajax.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 63914d2..dd3c50d 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -291,18 +291,16 @@ jQuery.extend({ // Main method ajax: function( url , options ) { - // Handle varargs - if ( arguments.length === 1 ) { + // If options is not an object, + // we simulate pre-1.5 signature + if ( typeof( options ) !== "object" ) { options = url; - url = options ? options.url : undefined; + url = undefined; } // Force options to be an object options = options || {}; - // Get the url if provided separately - options.url = url || options.url; - var // Create the final options object s = jQuery.extend( true , {} , jQuery.ajaxSettings , options ), // jQuery lists @@ -630,7 +628,8 @@ jQuery.extend({ }; // Remove hash character (#7531: and string promotion) - s.url = ( "" + s.url ).replace( rhash , "" ); + // We also use the url parameter if available + s.url = ( "" + ( url || s.url ) ).replace( rhash , "" ); // Extract dataTypes list s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( /\s+/ ); -- 1.7.10.4