我想用序列化表单数据映射数据对象列表我的后端是.Net,我有一个Model类来映射参数
这是我的jQuery对象
var MultiAssignGarageCampaign = [];
var obj = {};
obj.GarageID = 15;
obj.CampaignID = 8;
MultiAssignGarageCampaign.push(obj);
这是我的ajax请求
var data = {
'MultiAssignGarageCampaign' : MultiAssignGarageCampaign
};
data = $form.serialize() + '&' + $.param(data);
$.ajax({
type: 'post',
url: '/Booking/Create',
data: data ,
dataType: 'json'
}).done(function () {
$(this).addClass("done");
});
这是我的后端模型
public class BookingViewModel
{
public IList<GeneralCampaign> MultiAssignGarageCampaign { get; set; }
}
当我像这样对查询进行硬编码时,它可以正常工作
//data = $("#frmCreateBooking").serialize() + '&MultiAssignGarageCampaign[0].GarageID=15&MultiAssignGarageCampaign[0].CampaignID=8';
答案 0 :(得分:2)
只是一个猜测,但你正在两次发现数据:
param
ajax
我认为通过解码从jQuery param
得到的序列化数据可以正常工作,如:
data = $form.serialize() + '&' + decodeURIComponent($.param(data));