JQuery ajax - 如何传递空值数组参数

JQuery ajax - how to pass an array parameter with null value

我需要将数组参数传递到我的 ASP.NET 后端。 它看起来像这样:

$.ajax({ url: 'test', type: 'POST', data: { test: [1, 2] }})

生成的表单数据为: test[]=1&test[]=2.

到目前为止一切顺利。但是当我尝试在数组中传递 null 值时出现问题:

$.ajax({ url: 'test', type: 'POST', data: { test: [1, null] }})

在这种情况下,出于某种原因生成的表单数据如下所示: test[]=1&test[1]=.

请注意第二个 test 部分有一个数字索引。这在后端无法正确解析:带有索引的段被忽略,所以我在后端没有我的 null 值。

知道如何让它工作吗?

我用空字符串代替 null:

解决了这个问题

$.ajax({ url: 'test', 类型: 'POST', 数据: { 测试: [1, ''] }})

在这种情况下,表单数据如下所示:test[]=1&test[]= 并在后端被正确解析为 1null