我想在ajax中发送2个对象,在这两个对象中,一个对象包含记录列表
任何人都可以帮助如何做到这一点,我使用下面的代码块但不能正常工作
var obj = {};
obj.ChangeDetails = "";
obj.ChangeInformation = "";
obj.ChangeVersion = "";
obj.CSProduct = "";
obj.Description = $("#caseDesc").val();
obj.EndDate = $("#newSchEdDt").val();
obj.EndDateSpecified = $("#newSchEdTime").val();
obj.Environment = $('#caseEnv').find(":selected").text();
obj.Operation = "";
obj.RiskAssessment = $("input[name=ccRisk]").val();
obj.SiteEnvironment = "";
obj.SOPDetails = $("#ccSOP").val();
obj.SOPReferenced = "";
obj.SOPVersion = $("#ccSOPVer").val();
obj.StartDate = $("#newSchStDt").val();
obj.StartDateSpecified = $("#newSchStTime").val();
obj.Subject = $("#caseSubj").val();
var Members= {};
Members.cstdetails = newCustList;
var postData = {
objEmp: obj,
objMem: Members
};
$.ajax({
type: "POST",
url: "c9newcaseModel.aspx/CreateCase",
contentType: "application/json; charset=utf-8",
dataType: "json",
traditional: true,
data: JSON.stringify(postData),
success: function (result) {
alert(result.d)
},
error: function (xhr) {
alert("responseText: " + xhr.responseText);
}
});
public static string CreateCase(CreateCase objEmp, srcCustlst[] objMem)
{
}
我创建了具有相应属性的CreateCase和srcCustlst类。
先谢谢
答案 0 :(得分:1)
您无法将两个单独的对象POST到POST API。
而你可以做的是将两个类包含在另一个包装类中,然后将其作为输入传递给您的方法,并从客户端适当地形成JSON。
可以通过URL或身体将不同的数据发送到POST方法。但是在你的情况下,因为两者都是复杂的对象,更好的方法是使用一个包装类,它包含你拥有的两个类,并从客户端适当地传递数据。
包装类可以如下:
public class RequestWrapper
{
public CreateCase objEmp { get; set; }
public srcCustlst[] objMem { get; set; }
}
并且可能在您的帖子方法中将您的数据更改为data: postData,