var formData1 = $("#form1").serializeObject();
var formData2 = $("#form2").serializeObject();
$.extend(formData1, formData2);
var formData = JSON.stringify(formData1);
$.ajax({
type: "POST",
url: "@Url.Action("MyAction", "MyController")",
data: formData,
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (data) {
...Do something with the data
},
error: function(result) {
...Handle the error
}
});
Затем на стороне вашего контроллера (я использую MVC, но WebAPI, вероятно, будет работать одинаково), вы можете объявить два отдельных параметра, которые соответствуют вашим моделям на стороне клиента, и все будет у вас разобрано, если вы не Имена свойств не совпадают! Должен любить это, когда волшебство случается!
public ActionResult MyAction(FormDataModel1 formData1, FormDataModel2 formData2)
Кредит https://github.com/macek/jquery-serialize-object для кода serializeObject.