我正在尝试在 JavaScript 中构建一个字符串数组,并在 action 方法的字符串列表中获取结果。下面是我的 JavaScript 的样子。我正在使用 jQuery 1.4.2。问题是我在 action 方法中的 List 总是显示为 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 部分中)。
在 ajax 选项中添加传统 : true 应该可以工作。
$.ajax({
type: "POST",
traditional: true,
url: "/Test/JSONTestAction",
async: false,
data: parms,
dataType: "json",
success: function(data) {
// success
}
});
关于jquery - AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List<string> 总是返回 Null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515773/