2011-09-15 27 views
0

強く型付けされたオブジェクトをJQuery Ajax経由でWCFサービスに渡す際に問題があります。JQuery AjaxからWCFへ:問題の投稿データ

は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; 
    } 
} 

フィドラー:

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

私はデバッグをすることができますが、要求は入ってきますが、statusRequestはnullです。

おかげ

+0

私はこれを提出した後、私はJavaScriptのオブジェクトの小文字のStatusRequestをWCFサービスのincommingパラメータと一致させるようにして、問題を修正しようと決めました。 –

答えて

2

StatusRequestは、それは、変数名ではないクラス名にする必要がありstatusRequest

でなければなりません。

+0

ああ、それは意味をなさない、ありがとう! –