我想使用ajax:
从脚本向控制器发送二维数组这是我的脚本代码:
var regions = [["en", "fr"], ["ru"]];
$.ajax({
type: "POST",
traditional: true,
url: $(this).attr("action"),
data: {
regions: regions
},
success: function(data) {
$('#alertMessage').html(data);
}
});
这是我的控制者:
[HttpPost]
public ActionResult SaveSettings(List<List<string>> regions)
{}
参数“regions”包含Null值。
我很感激任何能在控制器中提供数据的方法(欢迎任何格式:array,json)
我希望得到你的帮助。
最诚挚的问候, 帕维尔
答案 0 :(得分:4)
您需要更改操作方法的签名以使用string[][]
,如下所示:
[HttpPost]
public ActionResult SaveSettings(string[][] regions)
{
}
然后在你的脚本中你可以stringify()
你的JSON,如下:
var regions = [["en", "fr"], ["ru"]];
$.ajax({
type: "POST",
traditional: true,
contentType: "application/json; charset=UTF-8",
url: $(this).attr("action"),
data: {
JSON.stringify({ regions: regions })
},
success: function(data) {
$('#alertMessage').html(data);
}
});
注意:这需要包含JSON.js。