繁体   English   中英

如何通过Ajax POST将数据绑定到Action方法的两个复杂类型参数

[英]How can I bind data to two complex type parameters of Action method by Ajax POST

到目前为止,我从未需要在服务器方法中将数据从ajax发送到两个或更多个复杂的类型参数。

我要实现的是,如果我对控制器执行了以下操作:

[HttpPost]
[Authorize]
public virtual ActionResult SubmitData(Person myPerson, Chair myChair)
{
//..
}

在Person和Chair是复杂类型的地方,我希望能够从ajax发送数据,该数据将正确绑定到myPerson和myChair。 像这样:

var personData      = { 'Name': Steve, 'Age': 35};
var chairData       = {'NumberOfLegs' : 3, 'Color' : red};

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: myUrl,
        data: {'myPerson':personData, 'myChair':chairData}
    }); 

我试过了,但是它行不通。 你能帮我吗? 调用转到操作,但是两个参数的值均为空。

我已经修改了使用JSON.stringify的ajax调用,该参数现在运行良好。

var personData      = { 'Name': Steve, 'Age': 35};
var chairData       = {'NumberOfLegs' : 3, 'Color' : red};

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    url: myUrl,
    data: JSON.stringify({'myPerson':personData, 'myChair':chairData})
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM