gpt4 book ai didi

wcf - 使用 POST 方法从 jQuery Ajax 调用 WCF 服务

转载 作者:行者123 更新时间:2023-12-03 22:33:18 25 4
gpt4 key购买 nike

我有以下 WCF 方法

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

我有一个 jQuery Ajax 客户端代码如下

<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和Name值在AddUser方法的两个参数中设置,但是,我想要做的是具有如下的方法签名

public User AddUser(User user)

当然,User类中有LoginId和Name属性。

如何将客户端参数自动绑定(bind)到用户实例而不需要手动设置值?

最佳答案

我自己找到了解决办法

我应该用对象名称包装 json 数据,如下所示:

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

关于wcf - 使用 POST 方法从 jQuery Ajax 调用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com