Im trying to stringify a javascript object and then pass the string as a parameter to a WebMethod in Code Behind. I can\'t get it to work as I get a Internal Server Error of
First, you need to use:
var jSon = JSON.stringify({obj:javascriptObject});
instead of:
var jSon = JSON.stringify(javascriptObject);
Then your WebMethod
would be like:
[WebMethod]
public static string Updatera(aData obj)
{
// logic code
}
Now here aData
is your class something like below :
public class aData {
public string Foretagsnamn { get; set; }
public string BGFarg { get; set; }
public string TextColor { get; set; }
public string FooterFarg { get; set; }
public string Email { get; set; }
}
So your final code look like jQuery:
var jSon = JSON.stringify({ obj:javascriptObject });
$.ajax({
type: "POST",
url: "Post/Installningar.aspx/Updatera",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response){
// Do something
}
function OnErrorCall(){
// Do something
}
Code Behind:
public class aData {
public string Foretagsnamn { get; set; }
public string BGFarg { get; set; }
public string TextColor { get; set; }
public string FooterFarg { get; set; }
public string Email { get; set; }
}
[WebMethod]
public static string Updatera(aData obj)
{
// Logic code
}
Do check jQuery Ajax JSON Example in Asp.net
Use this format for ajax post format :
var jSon = JSON.stringify(javascriptObject);
Your Json Format will be like this : '{name: "' + name +'" }',
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "Installningar.aspx/Updatera",
data: jSon;
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
Follow this step for complete run your code : http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx