Fixes #8277. Sets data to undefined rather than null when it is not provided in ajax helpers so that it won't revent data set in ajaxSettings from being used. Unit test added.

This commit is contained in:
jaubourg 2011-02-15 21:47:52 +01:00
parent 8e40a84c24
commit 1ddfdabbb9
2 changed files with 18 additions and 3 deletions

View file

@ -164,7 +164,7 @@ jQuery.fn.extend({
if ( jQuery.isFunction( params ) ) {
// We assume that it's the callback
callback = params;
params = null;
params = undefined;
// Otherwise, build a param string
} else if ( typeof params === "object" ) {
@ -256,7 +256,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = null;
data = undefined;
}
return jQuery.ajax({
@ -272,7 +272,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery.extend({
getScript: function( url, callback ) {
return jQuery.get( url, null, callback, "script" );
return jQuery.get( url, undefined, callback, "script" );
},
getJSON: function( url, data, callback ) {

View file

@ -1196,6 +1196,21 @@ test("load(String, String, Function)", function() {
});
});
test("jQuery.get(String, Function) - data in ajaxSettings (#8277)", function() {
expect(1);
stop();
jQuery.ajaxSetup({
data: "helloworld"
});
jQuery.get(url('data/echoQuery.php'), function(data) {
ok( /helloworld$/.test( data ), 'Data from ajaxSettings was used');
jQuery.ajaxSetup({
data: null
});
start();
});
});
test("jQuery.get(String, Hash, Function) - parse xml and use text() on nodes", function() {
expect(2);
stop();