我在下面编写了这个 jQuery ajax 方法,它调用 webmethod。除了作为 User 对象的参数具有空字段之外,调用发生得很好。当我调试时,我可以看到 firebug 中的值,但它们无法访问 webmethod 中的 User 对象参数
我试图从 jQuery 方法传递两个值到 Webmethod,它们是“UserID”(Guid)和“About”(字符串),它们都是 User 类的属性,但在服务端,User 对象只是空的。请帮我找出我所缺少的东西。谢谢...请参阅下面的代码。
JQuery
function updatePersonalProfile(userId) {
var user = {};
user.UserID = userId;
var updatedPersonalProfile = $(".txtPersonalProfile").html();
user.About = updatedPersonalProfile;
$.ajax({
type: "POST",
url: "PresentationService.asmx/updateUserPersonalProfile",
dataType: "json",
data: "{user:" + JSON.stringify(user) + "}",
contentType: "application/json; charset=utf-8",
success: function(response) {
},
error: function(response) {
alert(response.d);
}
});
}
网络方法
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void UpdateUserPersonalProfile(User user)
{
if (null == portfolioService)
{
portfolioService = new PortfolioService();
}
portfolioService.updateUserPersonalProfile(user);
}
我认为您在定义数据时缺少用户中的单引号。请使用如下代码更改数据线:
data: "{'user':" + JSON.stringify(user) + "}",
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)