I have the following webmethod on my asp.net code behind page:
[WebMethod(EnableSession = true)]
public static bool SaveFailureData(SimpleFailureData data)
{
Follow the Below step and you will get your required output
function CallAjaxRequest() {
var Simplefailuredata = {};
Simplefailuredata.Id = 1;
Simplefailuredata.Comments = 'Comments-1';
Simplefailuredata.Score = 500.25;
Simplefailuredata.Adjustment = 700.25;
Simplefailuredata.ShutdownData = new Array();
Simplefailuredata.ShutdownData[0] = new Object({ Id: 2, Description: "Desc-1", CausedShutdown: true, ShutdownType: "ShutdownType-1" });
Simplefailuredata.ShutdownData[1] = new Object({ Id: 5, Description: "Desc-2", CausedShutdown: false, ShutdownType: "ShutdownType-2" });
var object = JSON.stringify({ simplefailuredata: Simplefailuredata });
$.ajax({
type: "POST",
url: "Default2.aspx/GetResponse",
contentType: 'application/json; charset=utf-8',
data: object,
dataType: 'json',
cache: false
});
}
<form id="form1" runat="server">
<div>
<input type="button" id="btn" value ="t" onclick="CallAjaxRequest();" />
</div>
</form>
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
public static string GetResponse(simplefailuredata simplefailuredata)
{
return "";
}
}
public class simplefailuredata
{
public int Id;
public string Comments;
public double Score;
public double Adjustment;
public List<shutdownData> ShutdownData;
}
public class shutdownData
{
public int Id { get; set; }
public string Description { get; set; }
public bool CausedShutdown { get; set; }
public string ShutdownType { get; set; }
}
ok try this
public static bool SaveFailureData(string sampleFailure)
{
JavaScriptSerializer s = new JavaScriptSerializer();
SimpleFailureData sdata = s.Deserialize<SimpleFailureData>(sampleFailure);
return true;
}
var json = {
"Comments": "",
"Score": 66.66666666666667,
"Adjustment": 0,
"ShutdownData": [{ "Id": "401", "CausedShutdown": true, "ShutdownType": "NORMAL"}]
}
var data = JSON.stringify(json);
$.ajax({
type: "POST",
url: 'Default.aspx/SaveFailureData',
contentType: 'application/json; charset=utf-8',
data: "{'sampleFailure' : '" + data + "'}",
// data: data,
dataType: 'json',
success: function (msg) {
alert(msg.d);
},
error: function (msg) {
alert('Error!');
}
});
});
you will get the data in sdata object.