Bug 8107; Fix argument handling for $.ajax for multiple method signatues and add test case

This commit is contained in:
Dan Heberden 2011-01-31 19:37:28 -08:00
parent f43572d3b8
commit 31949fa528
2 changed files with 21 additions and 3 deletions

View file

@ -322,9 +322,8 @@ jQuery.extend({
// Main method
ajax: function( url, options ) {
// If options is not an object,
// we simulate pre-1.5 signature
if ( typeof options !== "object" ) {
// If url is an object, simulate pre-1.5 signature
if ( typeof url === "object" ) {
options = url;
url = undefined;
}

View file

@ -2161,6 +2161,25 @@ test("jQuery.ajax - active counter", function() {
ok( jQuery.active == 0, "ajax active counter should be zero: " + jQuery.active );
});
test( "jQuery.ajax - multiple method signatures introduced in 1.5 ( #8107)", 4, function() {
expect( 3 );
var i = 3;
jQuery.ajaxSetup({success: function() {
ok( true, "Success");
if ( ! --i ) start();
}});
stop();
jQuery.ajax('data/name.html');
jQuery.ajax('data/name.html', {} );
jQuery.ajax({ url: 'data/name.html'} );
jQuery.ajaxSetup({ success: null });
});
}
//}