我有一个简单的javascript数组。它的声明如下:
coords = []
每次用户点击图片时,我都会这样做:
coords.push([x,y])
所以我最终得到这样的东西:(在javascript中)
[[342,144],[477,99],[632,148],[529,162]]
但是我不知道在控制器方法中将它绑定到什么...我已经尝试了
List<List<int>>, int[][], int[,]
它们似乎都不起作用。它只适用于我使用字符串。
这是我用来将其发送到服务器的代码:
$.ajax({
type: "POST",
url: "/home/SaveCoords",
data: { coords: JSON.stringify(coords) }
}).done(function (msg) {
alert("Data Saved: " + msg);
});
这是我在控制器上使用的代码
[HttpPost]
public ActionResult SaveCoords(string coords)
{
return Json("Hello", JsonRequestBehavior.AllowGet);
}
帮助?
答案 0 :(得分:6)
您应将请求内容类型设置为application/json
,并相应地更改data
。
这是工作示例:
$.ajax({
type: "POST",
url: "/home/SaveCoords",
contentType : 'application/json',
data: JSON.stringify(coords)
}).done(function (msg) {
alert("Data Saved: " + msg);
});
和服务器
public ActionResult SaveCoords(int[][] coords)
{
return View();
}