2013-04-17 25 views
2

使用REST API,我从下面的Ajax命令中获取用于加载数据表的JSON响应。数据表 - 在数据表中加载JSON响应

我得到错误:Uncaught TypeError: Cannot read property 'length' of undefined.

$('#example').dataTable({ 
    "bSort" : false, 
    "bDestroy" : true, 
    "sPaginationType" : "full_numbers", 
    "bProcessing" : false, 
    "bFilter" : true, 
    "bServerSide" : true, 
    "bAutoWidth" : false, 
    "sAjaxSource" : 'exampledatagrid.json?token=' + sessionId, 
    "aoColumns" : [{ 
     "mData" : "0", 
     "mData" : "1", 
     "mData" : "2", 
     "mData" : "3" 
    }], 
    "fnServerParams" : function(aoData) { 
     alert(aoData); 
     aoData.push({ 
      "name" : "colNameMode", 
      "value" : "userStatusList" 
     }, { 
      "name" : "colName_0", 
      "value" : "userIDList" 
     }, { 
      "name" : "colName_1", 
      "value" : "userNameList" 
     }, { 
      "name" : "colName_2", 
      "value" : "userRemarksList" 
     }); 
    }, 
    "fnRowCallback" : function(nRow, aData, iDisplayIndex) { 
     alert(aData); 
    }, 
    "fnDrawCallback" : function(oSettings) { 
     if (oSettings.bSorted || oSettings.bFiltered) { 
      for (var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++) { 
       $('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr).html(i+1); 
      } 
     } 
    } 
}); 

JSON的反应是:

{"userRemarksList":["TECHNOLOGY","GUEST","HOUSE","SECURITY"],"userIDList":[23,45,23,54],"userNameList":["Michael","Danny","Rahil","Ramesh"],"userStatusList":[0,0,1,1]} 

我想知道我是否需要更改我的JSON格式,或者,如果我可以从上面的JSON响应检索本身?

回答

1

我通过使用hibernate“org.hibernate.query”查询结果来改变我的后端,从而得到了答案。从这我能够获得记录列表(一个接一个),并分别加载到网格中。