Javascript 尝试访问类的属性时发生AJax JSON调用错误
我正在对web方法进行JSON调用,该方法在代码隐藏中定义。web方法返回一个类对象。该类返回3个属性,一个类型为list,另一个类型为Integer。我通过以下方式访问这些文件: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);
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) {
...
}