Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

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?

share|improve this question

1 Answer

up vote 1 down vote accepted
data = JSON.stringify({data: data});

To elaborate, you are currently sending 2 parameters, whereas your web method expects just one (named data).

share|improve this answer
Yup. That's working perfect! – e-zero Mar 8 at 15:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.