Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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
Javascript ajax将2d数组发送到操作方法错误-asp.net mvc_Javascript_Asp.net_Ajax_Asp.net Mvc_Multidimensional Array - Fatal编程技术网

Javascript ajax将2d数组发送到操作方法错误-asp.net mvc

Javascript ajax将2d数组发送到操作方法错误-asp.net mvc,javascript,asp.net,ajax,asp.net-mvc,multidimensional-array,Javascript,Asp.net,Ajax,Asp.net Mvc,Multidimensional Array,我想将2d数组从javascript文件发送到action方法。 我的javascript函数 function _tbdata() { var dataarr = []; for(var i = 0; i<svarr.length; i++) { var trangthai = $("input[name='" + svarr[i] + "']:checked").val(); var lydo = $("#" + svarr[i]).val(); dataa

我想将2d数组从javascript文件发送到action方法。 我的javascript函数

function _tbdata() {

var dataarr = [];

for(var i = 0; i<svarr.length; i++)
{
    var trangthai = $("input[name='" + svarr[i] + "']:checked").val();
    var lydo = $("#" + svarr[i]).val();
    dataarr[i] = new Array(2);
    dataarr[i][0] = trangthai;
    dataarr[i][1] = lydo;
}
$.ajax({
    url: '/DiemDanh/testMethod',
    data: { info: JSON.stringify(dataarr ) },
    type: "POST",
    traditional:true,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
        alert('running');
    },
    error: function (data, textStatus) { alert(textStatus); }
});
}
函数{
var dataarr=[];

对于(var i=0;i我认为您应该更改javascript。二维数组应为[[]]

我已经为您的代码编写了一个示例。它运行良好

function Test() {
        var dataarr = [[]];

        for (var i = 0; i < 1; i++) {
            dataarr[i][0] = "A" + i.toString();
            dataarr[i][1] = "B" + i.toString();
        }

        var model = JSON.stringify(dataarr);

        $.ajax({
            url: '/Home/testMethod',
            data: model,
            type: "POST",
            traditional: true,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                alert('running');
            },
            error: function (data, textStatus) { alert(textStatus); }
        });
    }
功能测试(){
var dataarr=[[]];
对于(变量i=0;i<1;i++){
dataarr[i][0]=“A”+i.toString();
dataarr[i][1]=“B”+i.toString();
}
var model=JSON.stringify(dataarr);
$.ajax({
url:“/Home/testMethod”,
数据:模型,
类型:“POST”,
传统的:是的,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(结果){
警报(“运行”);
},
错误:函数(数据,文本状态){警报(文本状态);}
});
}

我认为您应该更改javascript。二维数组应该是[[]]

我已经为您的代码编写了一个示例。它运行良好

function Test() {
        var dataarr = [[]];

        for (var i = 0; i < 1; i++) {
            dataarr[i][0] = "A" + i.toString();
            dataarr[i][1] = "B" + i.toString();
        }

        var model = JSON.stringify(dataarr);

        $.ajax({
            url: '/Home/testMethod',
            data: model,
            type: "POST",
            traditional: true,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                alert('running');
            },
            error: function (data, textStatus) { alert(textStatus); }
        });
    }
功能测试(){
var dataarr=[[]];
对于(变量i=0;i<1;i++){
dataarr[i][0]=“A”+i.toString();
dataarr[i][1]=“B”+i.toString();
}
var model=JSON.stringify(dataarr);
$.ajax({
url:“/Home/testMethod”,
数据:模型,
类型:“POST”,
传统的:是的,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(结果){
警报(“运行”);
},
错误:函数(数据,文本状态){警报(文本状态);}
});
}

像这样更改ajax

$.ajax({
    url: '/DiemDanh/testMethod',
    data: { info: JSON.stringify(ngay) },
    type: "POST",
    traditional:true,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
        alert('running');
    },
    error: function (data, textStatus) { alert(textStatus); }
});
}

像这样更改ajax

$.ajax({
    url: '/DiemDanh/testMethod',
    data: { info: JSON.stringify(ngay) },
    type: "POST",
    traditional:true,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
        alert('running');
    },
    error: function (data, textStatus) { alert(textStatus); }
});
}

使用字符串多维数组更改您的方法参数它将起作用,因为列表字符串列表参数将不起作用它将不接受二维数组

    [HttpPost]
    public ActionResult testMethod(string [][] info)
    {
        return RedirectToAction("Index");
    }

使用字符串多维数组更改您的方法参数它将起作用,因为列表字符串列表参数将不起作用它将不接受二维数组

    [HttpPost]
    public ActionResult testMethod(string [][] info)
    {
        return RedirectToAction("Index");
    }

展开调用的response选项卡,您将看到错误的详细信息展开调用的response选项卡,您将看到错误的详细信息。我尝试过调试,当函数运行到$.ajax时,它会出现错误。我无法在ajax代码中调试。ajax是一种jquery方法。此代码在我的本地语言中运行良好。您可以调试javascr浏览器开发工具中的ipt。我尝试过,但仍然出错。我尝试过调试,当函数运行到$.ajax时,它会出错。我不能用ajax代码进行调试。ajax是一种jquery方法。这段代码在我的本地环境中运行良好。您可以在浏览器开发工具中调试javascript。这仍然是错误。您有其他方法将2d数组发送到控制器吗?仍然是错误的。您有其他方法吗您有另一种方法将2d数组发送到控制器吗?打开浏览器开发人员工具(ctrl+shift+I)并在出现500个内部服务器错误时选择网络选项卡。您可以单击错误链接查看详细信息错误打开浏览器开发人员工具(ctrl+shift+I)当您收到500个内部服务器错误时,请选择“网络”选项卡。您可以单击错误链接查看错误详细信息