(MVC 5)通过Ajax传递数组,动作模型参数始终为null

时间:2018-07-11 08:24:40

标签: jquery ajax asp.net-mvc

我有一个类似的动作:

[HttpPost]
public ActionResult Create([Bind(Include = "ID,Name,Age")] Person p, IEnumerable<Guid> areas)
{
        ...
}

我认为我正在做一个ajax:

$("#formPerson").submit(function (e) {
        e.preventDefault();

        var checkedAreas = [];
        $(".bereich:checked").each(function () {
            checkedAreas.push($(this).val());
        });

        var payload = {
            p : $(this).serialize(),
            areas : checkedAreas 
        };

        $.ajax({
            url: "@Html.Raw(Url.Action("Create", "Home"))",
            type: "post",
            data: payload
        })
})

我的问题是,动作属性Person p始终为null。为什么?

在我的Ajax请求中放入data: $(this).serialize()时,它可以正常工作,但是将数组data: payload放入null时,它将为空。有什么想法吗?

0 个答案:

没有答案