如何发布一个空数组(整数)(jQuery – > MVC 3)

使用jQuery我将一个int数组发布到我的MVC 3应用程序,方法是将数组放在data参数中,如下所示: data: { myIntArray: myIntArray } 。 在我的控制器中,接收操作有一个参数int[] myIntArray

这在大多数情况下都很顺利,除非myIntArray为空。 在请求中,我看到以下myIntArray= (请注意“=”后面没有空格)。 回到我的MVC 3控制器,这将转换为包含一个int :0的数组。

在我看来,通过发布空数组,我在做一些非常错误的事情。 我可以通过处理数组以不同方式为空的情况来解决这个问题。 不过,我觉得这应该是可能的。

提前致谢。

额外信息:

  • 我使用jQuery 1.5.1(无法为此项目升级)。
  • 使用new Array()初始化myIntArray

你可以这样做:

 var myIntArray = new Array(); // add elements or leave empty myIntArray.push(1); myIntArray.push(5); var data = myIntArray.length > 0 ? { myIntArray: myIntArray } : null; $.ajax({ url: '@Url.Action("someAction")', type: 'POST', data: data, traditional: true, success: function (result) { console.log(result); } }); 

或使用JSON请求:

 var myIntArray = new Array(); // add elements or leave empty myIntArray.push(1); myIntArray.push(5); $.ajax({ url: '@Url.Action("someAction")', type: 'POST', data: JSON.stringify(myIntArray), contentType: 'application/json', success: function (result) { console.log(result); } });