4

我有一个简单的 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);
}

帮助?

4

1 回答 1

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();
    }
于 2012-04-27T17:03:46.487 回答