2012-02-14 15 views
8

का उपयोग कर मैं एक निम्न WCF विधिकॉलिंग WCF सेवा POST पद्धति

[OperationContract] 
[WebInvoke(Method = "POST", UriTemplate = "UserService/AddUser", BodyStyle = WebMessageBodyStyle.WrappedRequest)] 
public User AddUser(string LoginId, string Name) 
{ 
    var user = input; 

    // Some business logic here 

    return user; 
} 

है और मैं नीचे

<script type="text/javascript"> 
    $(document).ready(function() { 

     $("#submit").click(function() { 
      var input = 
      { 
       LoginId: $("#LoginId").val(), 
       Name: $("#Name").val() 
      }; 

      $.ajax({ 
       cache: false, 
       type: "POST", 
       async: false, 
       url: "http://localhost:2000/UserService/AddUser", 
       data: JSON.stringify(input), 
       contentType: "application/json", 
       dataType: "json", 
       success: function (userViewModel) { 
        var user = userViewModel; 
        alert(user); 
       } 
      }); 
     }); 
    }); 
</script> 

एक बार ajax आह्वान adduser विधि LoginID और नाम के रूप में एक jQuery अजाक्स ग्राहक कोड है मान AddUser विधि के दो पैरामीटर में सेट किया गया है, हालांकि, मैं क्या करना चाहता हूं

public User AddUser(User user) 

बेशक, उपयोगकर्ता वर्ग में loginId और नाम गुण हैं।

मैन्युअल रूप से मूल्य को सेट किए बिना उपयोगकर्ता के उदाहरण के लिए ग्राहक के पैरामीटर को कैसे बाध्य करें?

उत्तर

5

मैं अपने आप को द्वारा समाधान पाया

मैं इस प्रकार वस्तु नाम के साथ json डेटा लपेट चाहिए:

 var input = 
     { 
      "user": 
      { 
       "LoginId": $("#LoginId").val(), 
       "Name": $("#Name").val() 
      } 
     }; 
संबंधित मुद्दे