到目前为止,我从未需要在服务器方法中将数据从ajax发送到两个或更多复杂类型参数。
我想要实现的是如果我在我的控制器上执行此操作:
[HttpPost]
[Authorize]
public virtual ActionResult SubmitData(Person myPerson, Chair myChair)
{
//..
}
其中Person和Chair是复杂类型,我希望能够从将要正确绑定到myPerson和myChair的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: {'myPerson':personData, 'myChair':chairData}
});
我试过了,但它不会工作。你能帮帮我吗?调用转到操作,但两个参数都为空值。
答案 0 :(得分:0)
我已经修改了ajax调用以使用JSON.stringify,这些参数现在运行良好。
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})
});