【问题标题】:How to send multiple objects to web method through ajax call如何通过ajax调用将多个对象发送到Web方法
【发布时间】:2018-07-31 16:19:50
【问题描述】:

我想在 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 类。

提前致谢

【问题讨论】:

    标签: jquery asp.net ajax webmethod


    【解决方案1】:

    您不能将两个单独的对象发布到 POST API。

    您可以做的是将这两个类包含在另一个包装类中,然后将其作为输入传递给您的方法,并从您的客户端适当地形成 JSON。

    不同的数据可以通过 URL 或 body 发送到 POST 方法。但在您的情况下,由于两者都是复杂对象,更好的方法是使用包含您拥有的两个类的包装类,并从客户端适当地传递数据。

    包装类可以如下:

    public class RequestWrapper
    {
        public CreateCase objEmp { get; set; }
        public srcCustlst[] objMem { get; set; }
    
    }
    

    并且可能在您的 post 方法中将您的数据更改为 data: postData,

    【讨论】:

      猜你喜欢
      • 2014-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多