将JSON数据对象从jquery ajax传递到asp.net webmethod

时间:2013-03-08 15:10:27

标签: json jquery webmethod

我的数据类似于:

var data = {
        email: $("#txtEmail").val(),
        password: $("#txtPassword").val()
    }
    data = JSON.stringify(data);

我使用jquery ajax并将此数据传递给我的web方法。如果我的webmethod是这样的话,这一切都有效:

[WebMethod]
    public static Response TryLogin(string email, string password) {..}

但我正在尝试将数据传递给看起来像这样的Web方法:

[WebMethod]
    public static Response TryLogin(LoginData data) {..}

我的LoginData类与此类似:

public class LoginData
        {
            public string email { get; set; }
            public string password { get; set; }
        }

当我尝试这样做时,我收到以下错误:

错误:500:{“消息”:“无效的Web服务调用,缺少参数值:\ u0027data \ u0027。

我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:4)

data = JSON.stringify({data: data});

详细说明,您当前正在发送2个参数,而您的Web方法只需要一个(命名数据)。