2011-09-15 81 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; 
    } 
} 

的Fiddler:

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

我能夠調試並觀看請求進來,但statusRequest爲空。

感謝

+0

在我提出這個問題之後,我決定嘗試在我的JavaScript對象小寫中使StatusRequest與WCF服務中的包含參數相匹配,並解決了我的問題。 –

回答

2

StatusRequest應該statusRequest

它需要變量名中的類名。

+0

啊,這是有道理的,謝謝! –