diff --git a/src/ajax.js b/src/ajax.js index f3887ff44..cfbfcd527 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -170,7 +170,7 @@ jQuery.fn.load = function( url, params, callback ) { params = undefined; // Otherwise, build a param string - } else if ( typeof params === "object" ) { + } else if ( params && typeof params === "object" ) { type = "POST"; } diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 2371f8982..1345eae3a 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -1037,11 +1037,45 @@ test("global ajaxSettings", function() { */ test("load(String)", function() { - expect(1); + expect(2); stop(); // check if load can be called with only url + jQuery.ajaxSetup({ + beforeSend: function() { + strictEqual( this.type, "GET", "no data means GET request" ); + } + }); jQuery("#first").load("data/name.html", function() { start(); }); + jQuery.ajaxSetup({ + beforeSend: null + }); +}); + +test("load(String,null)", function() { + expect(2); + stop(); // check if load can be called with url and null data + jQuery.ajaxSetup({ + beforeSend: function() { + strictEqual( this.type, "GET", "no data means GET request" ); + } + }); + jQuery("#first").load("data/name.html", null, function() { + start(); + }); +}); + +test("load(String,undefined)", function() { + expect(2); + stop(); // check if load can be called with url and null data + jQuery.ajaxSetup({ + beforeSend: function() { + strictEqual( this.type, "GET", "no data means GET request" ); + } + }); + jQuery("#first").load("data/name.html", undefined, function() { + start(); + }); }); test("load('url selector')", function() {