$ .post数据数组

时间:2012-10-11 19:42:08

标签: javascript jquery asp.net-mvc

我正在尝试将一些数据发布到控制器.. 我的观点是:

<script>
   $.post("/",{
       person: [
           { id: 1, name: "a" },
           { id: 2, name: "b" }
       ]
   });
</script>

并在我的控制器中:

[HttpPost]
public ActionResult Index(List<Person> person)
{
    //something
}

当我检查发送的http数据时,我看到数据是:

person[0][id]
person[0][name]
person[1][id]
person[1][name]

但默认模型绑定器的正确性是:

person[0].id
person[0].name
person[1].id
person[1].name

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您无法使用$.post使用$.ajax,因为您需要将contentType设置为'application/json'以使mobel活页夹感到高兴,而您无法使用$.post {1}}

$.ajax({
        url: '/',
        type: 'POST',
        data: JSON.stringify({
            person: [
                { id: 1, name: "a" },
                { id: 2, name: "b" }
            ]
        }),
        contentType: 'application/json'
    });

您还需要JSON.stringify您的数据才能使其与模型绑定器一起使用。