Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将多维数组从控制器返回到ajax成功?_C#_Asp.net Mvc_Jquery Ajaxq - Fatal编程技术网

C# 如何将多维数组从控制器返回到ajax成功?

C# 如何将多维数组从控制器返回到ajax成功?,c#,asp.net-mvc,jquery-ajaxq,C#,Asp.net Mvc,Jquery Ajaxq,我通过jQueryAjax调用控制器POST方法。控制器方法是将2D数组返回到ajax。 我能够成功地在ajax中获得数组,但它变成了1D数组,而我希望它是2D数组或我从controller方法发送的任何维数组 以下是我的控制器方法: [HttpPost] public JsonResult MultiDArrayToView(string s) { string[,] table = new string[2, 2];

我通过jQueryAjax调用控制器POST方法。控制器方法是将2D数组返回到ajax。 我能够成功地在ajax中获得数组,但它变成了1D数组,而我希望它是2D数组或我从controller方法发送的任何维数组

以下是我的控制器方法:

        [HttpPost]
        public JsonResult MultiDArrayToView(string s)
        {
            string[,] table = new string[2, 2];
            table[0, 0] = "1";
            table[0, 1] = "2";
            table[1,0] = "3";
            table[1,1] = "4";
            var response = new { table = table};
            return Json(response);

        }
以下是我的查看代码:

<body>
    <div> 
        <form action="/Home/MultiDArrayToView" method="post" id="form">
            <input name="s" required/>
            <button type="submit">Submit</button>
        </form>
    </div>
    <script src="~/Scripts/jquery-3.3.1.min.js"></script>
    <script>

        $(document).ready(function () {
            $("#form").submit(function (event) {
                event.preventDefault(); //prevent default action
                var post_url = $(this).attr("action"); //get form action url
                var request_method = $(this).attr("method"); //get form GET/POST method
                var form_data = new FormData(this); //Creates new FormData object
                $.ajax({
                    url: post_url,
                    type: request_method,
                    data: form_data,
                    contentType: false,
                    cache: false,
                    processData: false,
                    datatype: "json",
                    success: function (value) {
                        //here I am getting array from controller method in 'value' but as a 1D array instead I want multidimensional array
                        debugger;
                    }
                });


            });
        });
    </script>
</body>

而不是使用矩阵: 字符串[,]表=新字符串[2,2]

使用锯齿状数组 字符串[][]表=新字符串[2][2]


这将允许json序列化程序有效地进行转换。

您能验证POST操作中的json响应是否确实被构造为二维数组吗?是的,它被构造为二维数组。那么您的问题是关于javascript和解析二维数组,与您的后端本身。好的,你知道怎么做吗?我宁愿编辑这个问题或者创建一个全新的问题。