Revised how context is determined and removed unnecessary "parameter as variable" trick.

This commit is contained in:
jaubourg 2011-01-19 17:06:33 +01:00
parent 92c3d87a9c
commit bd6eb849ee

View File

@ -233,8 +233,7 @@ jQuery.extend({
},
// Main method
// (s is used internally)
ajax: function( url , options , s ) {
ajax: function( url , options ) {
// Handle varargs
if ( arguments.length === 1 ) {
@ -248,19 +247,14 @@ jQuery.extend({
// Get the url if provided separately
options.url = url || options.url;
// Create the final options object
s = jQuery.extend( true , {} , jQuery.ajaxSettings , options );
// We force the original context
// (plain objects used as context get extended)
s.context = options.context;
var // jQuery lists
var // Create the final options object
s = jQuery.extend( true , {} , jQuery.ajaxSettings , options ),
// jQuery lists
jQuery_lastModified = jQuery.lastModified,
jQuery_etag = jQuery.etag,
// Callbacks contexts
callbackContext = s.context || s,
globalEventContext = s.context ? jQuery( s.context ) : jQuery.event,
callbackContext = options.context || s.context || s,
globalEventContext = callbackContext === s ? jQuery.event : jQuery( callbackContext ),
// Deferreds
deferred = jQuery.Deferred(),
completeDeferred = jQuery._Deferred(),
@ -337,6 +331,10 @@ jQuery.extend({
}
};
// We force the original context
// (plain objects used as context get extended)
s.context = options.context;
// Callback for when everything is done
// It is defined here because jslint complains if it is declared
// at the end of the function (which would be more logical and readable)