如何将数组发送到控制器? 我试过了:
window.location.href = "/SomeController/SomeMethod?fields=" + SomeArray;
所以:
window.location.href = "/SomeController/SomeMethod?fields[][]=" + SomeArray;
在控制器中我收到了:
public ActionResult SomeMethod(int[][] fields) // here fields = null;
{
// Some code
}
答案 0 :(得分:0)
使用jQuery ajax method。
将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")
}
})
答案 1 :(得分:0)
如果您使用的是jQuery,请尝试jQuery.param
var data ={
fields :[
[
'car',
'bike'
]
]
};
window.location.href = 'SomeController/SomeMethod?'
+ decodeURIComponent( $.param(data) );