Javascript 尝试访问类的属性时发生AJax JSON调用错误

Javascript 尝试访问类的属性时发生AJax JSON调用错误,javascript,asp.net,ajax,json,Javascript,Asp.net,Ajax,Json,我正在对web方法进行JSON调用,该方法在代码隐藏中定义。web方法返回一个类对象。该类返回3个属性,一个类型为list,另一个类型为Integer。我通过以下方式访问这些文件: success: function(result) { alert(result); alert(result.LookCount); alert(result.length);

我正在对web方法进行JSON调用,该方法在代码隐藏中定义。web方法返回一个类对象。该类返回3个属性,一个类型为list,另一个类型为Integer。我通过以下方式访问这些文件:

success: function(result) {
                    alert(result);
                    alert(result.LookCount);
                    alert(result.length);
                    if(result.LookCount  > 0)
                    {
                        var Info = "";

                        for(var i = 0;i < result.LookUps.length; i++)
                        {
                           Info += CreateLookUpGrid(result.LookUps[i].Client,result.LookUps[i].ClientOrg);
                        }
成功:函数(结果){
警报(结果);
警报(result.LookCount);
警报(结果长度);
如果(result.LookCount>0)
{
var Info=“”;
for(var i=0;i

alert(result.LookCount)->alerts undefined,当我alert result时,它会显示包含所有数据的compelte结果字符串。因此,数据通过web方法正确返回。但我无法访问它。

您需要将结果字符串转换为对象。如果您使用的是最新版本的jQuery,则可以使用其方法:


很可能,您需要使用
result.d
而不是
result
。ASP.NET试图通过将JSON对象包装在“d”属性中来实现一些安全性,这样就不会意外地对任何对象进行计算并在客户端上运行

如果您正在执行的操作实际上返回了一个字符串(正如您的帖子在描述警报结果时所指出的),那么您需要将该字符串解析为一个JSON对象

var data= $.parseJSON(result);
if (data.LookCount > 0) {
    ...
}