我试图在JavaScript中构建一个字符串数组,并在action方法的字符串列表中获得结果。下面是我的JavaScript看起来像。我使用jQuery 1.4.2。问题是我的List中的action方法总是显示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" });
}
解决方法
我更新到jquery 1.4.2后面临同样的问题。您可以找到解决方案
here(在Ajax部分)。
添加Traditional:true在ajax选项应该工作。
$.ajax({
type: "POST",Traditional: true,success: function(data) {
// success
}
});