2016-08-01 155 views
-1

这是我的代码,我使用Ajax获取数据。但我的桌子结构不好。所以我的代码有什么问题?通过JSON数据在Ajax中循环?

success: function(data) { 

    $('#district-table').DataTable(); 
     $.each(data, function() { 
     $.each(data.data, function(data) { 

      raw ='<tr><td>' + data['district'] + '</td><td>' + data['total'] + '</td></tr>'; 

      $('#district-table-body').append(raw); 
     }); 
     }); 

} 

有阿贾克斯也不是JS,但我的 '原' 将不显示在我的表

控制器 公共职能constractlocation(){

$counts = DB::table('tablename')->select('district', DB::raw('count(*) as total'))->groupBy('district')->get(); 

$data = json_encode($counts); 
return $data; 

}

没有错误
+0

呼叫'的DataTable()'*后*你把数据放在那里。此外,如果您遇到特定问题,我们需要知道问题所在,以及您收到的任何错误消息。目前你的问题还不清楚。 –

+0

没有工作@RoryMcCrossan –

+0

更改'​​'到''在''之前'标记 –

回答

0

如果您使用DataTable插件,您不必自己遍历JSON响应

您可以直接将数据分配到像下表..

success: function(data) { 
    $('#district-table').DataTable({ 
     "processing": true, 
     "data": data 
    }); 
} 

你也可以嵌入里面的DataTable像下面的Ajax调用..

$('#district-table').DataTable({ 
    "ajax": '../path_to_controller_action', 
    "columns": [ 
     { "data": "district" }, 
     { "data": "total" } 
    ] 
}); 
+0

使用第二种方法,我得到这个错误:DataTables警告:表id =分区表 - Ajax错误。有关此错误的更多信息,请参阅http://datatables.net/tn/7 –

+0

这意味着您的控件将进入ajax错误处理程序。请检查服务器端实现是否正常工作,并返回有效的JSON。 –

+0

我编辑了我的问题,请检查我的控制器,它实际上是返回一个有效的JSOn! –