Aufruf von WCF-service von jQuery-Ajax mit POST-Methode

Ich habe folgenden WCF-Methode

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

Und ich habe einen jQuery-Ajax-client-code wie unten

<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>

Einmal ajax aufrufen AddUser-Methode LoginId und Name-Wert festgelegt ist, in AddUser-Methode zwei parameter, jedoch, Was ich tun möchte, ist mit einer Signatur der Methode, wie unten

public User AddUser(User user)

Natürlich Klasse User haben LoginId und Name-Eigenschaften in ihm.

Binden von client-parameter Benutzer-Instanz automatisch, ohne dass der Wert manuell?

InformationsquelleAutor Ray | 2012-02-14
Schreibe einen Kommentar