Serialize: Handle arrays with null values

Closes gh-2436
This commit is contained in:
Daniel Nill 2015-08-06 19:49:14 -07:00 committed by Michał Gołębiowski
parent 835e9218be
commit 3d7ce0a65f
2 changed files with 5 additions and 2 deletions

View File

@ -28,7 +28,7 @@ function buildParams( prefix, obj, traditional, add ) {
// Item is non-scalar (array or object), encode its numeric index.
buildParams(
prefix + "[" + ( typeof v === "object" ? i : "" ) + "]",
prefix + "[" + ( jQuery.type( v ) === "object" ? i : "" ) + "]",
v,
traditional,
add

View File

@ -1,7 +1,7 @@
QUnit.module( "serialize", { teardown: moduleTeardown } );
QUnit.test( "jQuery.param()", function( assert ) {
assert.expect( 22 );
assert.expect( 23 );
var params, settings;
@ -77,6 +77,9 @@ QUnit.test( "jQuery.param()", function( assert ) {
params = { "test": { "length": 3, "foo": "bar" } };
assert.equal( jQuery.param( params, false ), "test%5Blength%5D=3&test%5Bfoo%5D=bar", "Sub-object with a length property" );
params = { "test": [ 1, 2, null ] };
assert.equal( jQuery.param( params, false ), "test%5B%5D=1&test%5B%5D=2&test%5B%5D=", "object with array property with null value" );
if ( jQuery.ajaxSettings === settings ) {
delete jQuery.ajaxSettings;
} else {