[ad_1]
你好
我正在尝试传递一个包含 bool 和 DataTable 的表单,我已根据 Datatable 文档将其转换为数组。
var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().data().toArray(); var formData = $("#PurchaseEnquiryDetails").serializeArray(); $.ajax({ type: "POST", url: "/PurchaseEnquiry/UpdatePEHeader", data: { oPE: jsonData, oLines: aData } })
如果我使用serializeArray传递它,表单中的bool总是作为false传回。
如果我将集合设置为
var formData = $("#PurchaseEnquiryDetails").serialize();
表单作为 null 传递给控制器。 如果我从 ajax 中删除数据表数组输入,则 from 会传递到控制器,并且 bool 为 true。
我尝试为两个输入构建一个对象并将其作为 stringify 发布,但尽管表单已正确通过,但数据表数组在控制器上为空。
我确实有一个可行的解决方案
var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().dat(); var formData = $("#PurchaseEnquiryDetails").serialize(); var jsonData = {}; $(formData).each(function (index, obj) { if (obj.name === "ReviewRequired1" && !jsonData.hasOwnProperty(obj.name)) { jsonData[obj.name] = obj.value; } else if (!jsonData.hasOwnProperty(obj.name)) { jsonData[obj.name] = obj.value; } }); $.ajax({ type: "POST", url: "/PurchaseEnquiry/UpdatePEHeader", data: { oPE: jsonData, oLines: aData } })
我只是认为这似乎有点胡言乱语,并不是一个好的解决方案。 有人可以帮忙吗?
我尝试过的:
var aData = $('#dtPurchaseEnquiryLines').DataTable().rows().dat(); var formData = $("#PurchaseEnquiryDetails").serialize(); var jsonData = {}; $(formData).each(function (index, obj) { if (obj.name === "ReviewRequired1" && !jsonData.hasOwnProperty(obj.name)) { jsonData[obj.name] = obj.value; } else if (!jsonData.hasOwnProperty(obj.name)) { jsonData[obj.name] = obj.value; } }); $.ajax({ type: "POST", url: "/PurchaseEnquiry/UpdatePEHeader", data: { oPE: jsonData, oLines: aData } })
[ad_2]
コメント