I have data similar to this:
var data = {
email: $("#txtEmail").val(),
password: $("#txtPassword").val()
}
data = JSON.stringify(data);
I use jquery ajax and pass this data to my web method. This all works if my webmethod is like this:
[WebMethod]
public static Response TryLogin(string email, string password) {..}
But I am trying pass the data to a web method that looks like this:
[WebMethod]
public static Response TryLogin(LoginData data) {..}
My LoginData class looks similar to this:
public class LoginData
{
public string email { get; set; }
public string password { get; set; }
}
When I try to do it this way I receive the following error:
error: 500: {"Message":"Invalid web service call, missing value for parameter: \u0027data\u0027.
How do I do this properly?
data = JSON.stringify({data: data});
To elaborate, you are currently sending 2 parameters, whereas your web method expects just one (named data).