2010-10-07 68 views
0

我正在对代码后面定义的Web方法进行JSON调用。 web方法返回一个类对象。该类返回3个属性类型列表和2个整数之一。我以下列方式访问这些:AJAX JSON尝试访问类的属性时调用错误

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) - >警报不确定的,当我警觉结果它让我拥有所有数据compelte结果字符串。所以数据通过web方法正确返回。但我无法访问它。

回答

1

您需要将结果字符串转换为对象。如果你正在使用最新版本的jQuery,你可以使用它的方法parseJSON

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

可能的是,你需要使用result.d而不是result。 ASP.NET试图通过将JSON对象封装在“d”属性中来实现一些安全性,所以没有任何事情会被意外评估并在客户端上运行。

如果您正在做的事情实际上会返回一个字符串(因为您的帖子在描述警报结果时指出),您需要将字符串解析为JSON对象。您可以使用JQuery或其他JavaScript文件(如JSON2)来做到这一点。

相关问题