From 26150f0910a0b0d933df92cd354c6735c3dc9078 Mon Sep 17 00:00:00 2001 From: George Mauer Date: Mon, 5 Jan 2015 21:00:12 -0600 Subject: [PATCH] Ajax: $.post and $.get can now take an options object Fixes gh-1986 Closes gh-1995 (cherry picked from commit 89ce0af2cf7f001647e74fc1de92ce94a51fd5c2) --- src/ajax.js | 5 +++-- test/unit/ajax.js | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index d8450e1c3..d2b40d338 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 35db61699..89161a928 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() { -- 2.39.5