如何发布一个空数组(整数)(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); } });
- 为什么在MVC3中使用ajax动态加载表只能在兼容模式下工作?
- MVC 3 Razor – 在Ajax请求中访问ViewData(Jquery,JavaScript)
- ASP.NET MVC 3不引人注意的validation,提交和TinyMCE
- 在asp.net mvc 3项目中渲染局部视图onclick
- ASP.Net MVC 3不显眼的客户端validation不适用于下拉列表
- 关于JSON和序列化的问题
- 使用jquery ajax将参数传递给控制器
- 美国电话号码(000)-000-0000或000-000-0000的MVCvalidation
- 如何在点击时从JavaScript调用@ Url.Action()调用添加参数