1

如何将数组发送到控制器?我试过这样:

window.location.href = "/SomeController/SomeMethod?fields=" + SomeArray;

所以:

window.location.href = "/SomeController/SomeMethod?fields[][]=" + SomeArray;

在控制器中我收到:

public ActionResult SomeMethod(int[][] fields) // here fields = null;
{
// Some code
}
4

2 回答 2

0

使用 jQuery ajax 方法

将js对象SomeArray转换为Json,在ajax方法的data属性中传回控制器。下面我使用现代浏览器支持的 JSON.stringify,但您可以包含脚本json2以支持旧浏览器。

              $.ajax({
                    url: '/SomeController/SomeMethod',
                    type: 'POST',
                    data: JSON.stringify(SomeArray),
                    dataType: 'json',
                    contentType: 'application/json; charset=utf-8',
                    success: function (result) {
                        alert("Success");
                    },
                    error: function (xhr) {
                        alert(xhr.statusText + " Internal server error")
                    }
                })
于 2013-04-07T05:51:45.200 回答
0

如果您使用的是 jQuery,请尝试jQuery.param

var  data ={

    fields :[
        [
            'car',
            'bike'
        ]
    ]
};

window.location.href = 'SomeController/SomeMethod?'
                       + decodeURIComponent( $.param(data) );
于 2013-04-07T05:57:53.923 回答