小编典典

JavaScript字符串数组的AJAX发布到JsonResult作为列表 总是返回Null?

ajax

我正在尝试在JavaScript中建立字符串数组,并在action方法的字符串列表中获取结果。以下是我的JavaScript的外观。我正在使用jQuery
1.4.2。问题是我在动作方法中的列表始终显示为NULL。JavaScript字符串数组会不会正确映射到C#中的字符串列表?

var test = ['test1', 'test2'];
var parms = {
  var1: 'some string',
  var2: test
};

$.ajax({
  type: "POST",
  url: "/Test/JSONTestAction",
  async: false,
  data: parms,
  dataType: "json",
  success: function(data) {

    // success
  }
});

然后我的JsonResult如下所示:

public JsonResult JSONTestAction(string var1, List <string> var2) {
 // var2 is always NULL -- not good

 return Json(new {
  test = "test"
 });
}

阅读 333

收藏
2020-07-26

共1个答案

小编典典

更新到jQuery
1.4.2后,我遇到了同样的问题。您可以在这里找到解决方案(在Ajax部分中)。

在ajax选项中添加繁体中文:true应该可以。

$.ajax({
    type: "POST",
    traditional: true,
    url: "/Test/JSONTestAction",
    async: false,
    data: parms,
    dataType: "json",
    success: function(data) {

        // success
    }
});
2020-07-26