通过AJAX将数组传递给控制器操作
通过AJAX将数组传递给控制器操作
我看到了类似的问题,但都没有帮助到我。
我有最简单的代码:
public JsonResult JsonGetStatesInfo(object[] instructions) { if (Request.IsAjaxRequest()) { return Json(String.Empty); } else throw new NoAjaxRequestException(); }
客户端代码如下:
var instructions = []; instructions.push('abc'); instructions.push('ddd'); instructions.push('assdbc'); var inst = JSON.stringify(instructions); $.ajax({ cache: false, data: { 'instructions': inst }, traditional: true, dataType: 'json', url: '/State/JsonGetStatesInfo', type: 'post', success: function (resp) { }, error: function (data) { alert(data.error); } });
在客户端,我尝试了使用JSON.stringify,不使用JSON.stringify,使用traditional: true,不使用traditional: true
在服务器端,我尝试了参数类型为: object[],object,List< object >,List< string >,IEnumerable< string >等等
一切都不起作用!如何正确处理呢?
解决方案:
我的问题很简单 - 数组中的一个真实值含有HTML标签。只需在操作方法中添加[ValidateInput(false)]即可。