Revises the way arguments are handled in ajax.

This commit is contained in:
jaubourg 2011-01-20 16:22:36 +01:00
parent 9ab00a712f
commit 3e1d3d0f21

View file

@ -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+/ );