2010-02-10 31 views
0

我有一个WCF RESTful服务返回一个复杂的对象以下格式无法访问它使用下面的代码访问它:后,我可以使用JavaScript代码

if(executor.get_responseAvailable){ var serviceResults = executor.get_responseData();

   var prasevalues = eval('(' + serviceResults + ')'); 

       var mattersResults = prasevalues.GetMatterSearchRESTResult; 
       for (var a = 0; a < mattersResults.length; a++) { 
        alert(mattersResults[a].TotalMatterCount); 
        var pgBreakDown = mattersResults[a].BreakDownBypracticeGroups; 
        for (var b = 0; b < pgBreakDown.length; b++) { 
         alert(pgBreakDown[b].DepartmentName + " " + pgBreakDown[b].Count); 
        } 
       } 
      } 
      return false; 

在调用eval函数之后,我得到一个未定义的值。请帮忙。

+0

未定义的上线需要循环? – 2010-02-10 18:32:18

回答

0

GetMatterSearchRESTResult不是数组,它是一个对象,因此matterResults不会有长度方法。让GetMatterSearchRESTResult对象的数组:

{"GetMatterSearchRESTResult":[{"BreakDownBypracticeGroups":[],"BreakDownByCountry":[],"TotalMatterCount":0}]}

编辑:或者,如果这是不可能的,你不通过对象

+0

或者使用'var x in ...' – 2010-02-10 19:46:12

+0

我想到了这一点,但是他通过名字引用每个成员,所以没有真正的需要循环。例如,mattersResults [a] .TotalMatterCount将变成mattersResults.TotalMatterCount – Bob 2010-02-10 20:33:35

相关问题