发送到后端二维数组 [英] Send to back-end two-dimensional array

查看:96
本文介绍了发送到后端二维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用ajax从脚本向控制器发送二维数组:

I want to send two-dimensional array to controller from a script using 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值.

The parameter "regions" contains a Null value.

我希望能在控制器中提供数据的任何方法(欢迎使用任何格式:数组,json)

I would appreciate any method that will give the data in the controller (welcome any format: array, json)

希望您能帮上忙.

最好的问候, 帕维尔

推荐答案

您需要更改操作方法的签名以使用string[][],如下所示:

You need to change your action method's signature to use a string[][], like this:

[HttpPost]
public ActionResult SaveSettings(string[][] regions)
{

}

然后在脚本中可以stringify() JSON,如下所示:

Then in your script you can stringify() your JSON, like this:

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 .

这篇关于发送到后端二维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆