diff --git a/src/ajax.js b/src/ajax.js index d8450e1c3e..d2b40d338e 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -798,13 +798,14 @@ jQuery.each( [ "get", "post" ], function( i, method ) { data = undefined; } - return jQuery.ajax({ + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend({ url: url, type: method, dataType: type, data: data, success: callback - }); + }, jQuery.isPlainObject( url ) && url ) ); }; }); diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 35db616997..89161a9284 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -2050,6 +2050,26 @@ module( "ajax", { }); }); + asyncTest( "jQuery[get|post]( options ) - simple with xml", 2, function() { + jQuery.when.apply( jQuery, + jQuery.map( [ "get", "post" ] , function( method ) { + return jQuery[ method ]({ + url: url( "data/name.php" ), + data: { + "xml": "5-2" + }, + success: function( xml ) { + jQuery( "math", xml ).each(function() { + strictEqual( jQuery( "result", this ).text(), "3", "Check for XML" ); + }); + } + }); + }) + ).always(function() { + start(); + }); + }); + //----------- jQuery.active test( "jQuery.active", 1, function() {