// 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
QUnit.module( "serialize", { teardown: moduleTeardown } );
QUnit.test( "jQuery.param()", function( assert ) {
- assert.expect( 22 );
+ assert.expect( 23 );
var params, settings;
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 {