我有一个简单的WebMethod:ASP.NET的WebMethod返回的对象作为JSON但不响应方法
<WebMethod(Description:="Does something.")> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function ReturnJSONData() As Person
Dim guy As New Person
guy.Name = "Joe"
guy.Age = 8
Return guy
End Function
和这里是我打电话的AJAX方法:
function GetPerson() {
PageMethods.ReturnJSONData(OnWSRequestComplete1);
}
function OnWSRequestComplete1(result) {
alert(result.d);
}
当我使用像萤火虫的工具,我可以看到JSON结果:
{"d":{"__type":"Person","Name":"Joe","Age":8}}
然而,当我称之为“警报(result.d)”我得到了一个未定义。我错过了什么吗?
确保'result'不是JSON *字符串*。如果是这样,你需要首先将它解析成一个对象('JSON.parse')。 – voithos 2013-03-08 18:39:14