我正在调用以下C#方法:
[WebMethod(true)]
public static List<ReadUserStructure> LoadFriends()
{
List<ReadUserStructure> returner = Friend.ReadAllFriends();
return returner;
}
使用以下jQuery:
$.ajax({
type: "POST",
url: "Main.aspx/LoadFriends",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) { alert(msg.Count.toString()); }
});
我在C#方法上有一个断点,它就可以了。单步执行该方法,该函数工作正常,并在我的用户中创建一个计数为2的列表。但是这个列表如果没有返回到客户端。有什么想法吗?
答案 0 :(得分:2)
问题是列表在javascript中没有Count属性。相反,请查找msg.length
答案 1 :(得分:1)
在debugger
之前加alert
,在firebug或IE或Visual Studio中调试。检查您是否收到对象msg
。如果是,请使用msg.Length
而不是msg.Count
,否则添加错误处理程序,并检查错误。
success: function (msg) {
debugger;
alert(msg.Length.toString());
},
error: function (data) {
}
希望这有帮助
答案 2 :(得分:0)
也许ReadUserStructure不可序列化?
您是否在Chrome检查器或firebug中看到了控制台输出,因为这些问题在这些问题上非常有用。
答案 3 :(得分:0)
ReadUserStructure是否可序列化?
尝试使用您知道应该工作的对象列表,例如整数或字符串。
答案 4 :(得分:0)
如果你没有错,如果你要返回json结果你需要提到你正在返回一个json 不确定语法,但服务器应该指定我返回一个json结果
答案 5 :(得分:0)
提及序列化的每个人都是问题所在。我现在正在使用asp.net Ajax扩展,这对我想做的事情非常好而且容易。
感谢大家的时间和精力。