Jquery Ajax в WCF: проблема с публикацией данных - PullRequest
0 голосов
/ 16 сентября 2011

У меня проблемы при передаче строго типизированного объекта в службу WCF через Jquery Ajax.

JQuery:

    var var1 = "test1";
    var var2 = "test2";
    var var3 = "test3";

    var myObject =
    {
        StatusRequest:
        {
            Var1: var1,
            Var2: var2,
            Var3: var3
        }
    };

    $.ajax({
        type: "POST",
        url: "UtilityService.svc/GetStatus",
        data: JSON.stringify(myObject),
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function(data)
        {
            alert(data.d);
        }
    });

WCF:

    [OperationContract]
    [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    public string GetStatus(StatusRequest statusRequest)
    {
        return "hi";
    }

Класс:

public class StatusRequest
{
    public string Var1
    {
        get;
        set;
    }
    public string Var2
    {
        get;
        set;
    }
    public string Var3
    {
        get;
        set;
    }
}

Fiddler:

{"StatusRequest":{"Var1":"test1","Var2":"test2","Var3":"test3"}}

Я могу отлаживать и наблюдать за поступающим запросом, но statusRequest имеет значение null.

Спасибо

1 Ответ

2 голосов
/ 16 сентября 2011

StatusRequest должно быть statusRequest

Это должно быть имя переменной, а не имя класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...