我正在对后面的代码中定义的web方法进行JSON调用。 Web方法返回一个类对象。该类返回3个属性,一个是类型列表,另一个是整数。我通过以下方式访问这些:
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);
}
alert(result.LookCount) - &gt;警报未定义,当我发出警报结果时,它会显示包含所有数据的强制结果字符串。因此,通过Web方法正确返回数据。但是我无法访问它。
答案 0 :(得分:1)
您需要将结果字符串转换为对象。如果您使用的是最新版本的jQuery,则可以使用其parseJSON方法:
var data= $.parseJSON(result);
if (data.LookCount > 0) {
...
}
答案 1 :(得分:0)
可能,您需要使用result.d
代替result
。 ASP.NET尝试通过将JSON对象包装在“d”属性中来实现某些安全性,这样就不会在客户端上意外地评估和运行任何内容。
如果您正在执行实际返回字符串的操作(正如您在描述警报结果时指示的那样),则需要将字符串解析为JSON对象。您可以使用JQuery或其他javascript文件(如JSON2)执行此操作。