Angular / Datatables服务器端处理

时间:2014-10-21 17:53:54

标签: angularjs datatable server-side

我正在尝试为angularjs中的表实现DataTables服务器端处理/分页。我使用过DataTables示例但我的表没有显示。我很确定我错过了一件轻微的事情,但无法弄明白......试了很多东西......

我的HTML:

<div class="table-responsive">
<table id="consolidatedPageTable" class="table table-condensed table-striped table-bordered" >
    <thead>
        <tr>
            <th >Source</th>
            <th >Mailing Date</th>
            <th >Status</th>
            <th >CPI</th>
            <th >User ID</th>
            <th >Program</th>
            <th >Customer Number</th>
            <th >Customer Name</th>
            <th >DL Date</th>
        </tr>
    </thead>
</table>

我的控制器:

app.controller('ConsolidatedController', function($scope,$rootScope,$http,$filter,$location,$routeParams) {

    createTable();

    $location.path('consolidated');

});

function createTable(){
$(function(){
    var table = $('#consolidatedPageTable').dataTable({
        "destroy": true,    
        "processing": true,
        "serverSide": true,
        "ajax": "scripts/consolidationTable.php",       
        "columnDefs": [
        {
            "targets": [9],
            "visible": false,
            "searchable": true
        }
    ]
    });
})
}

我的php scipt(我用XXX替换了服务器特定信息)

<?php
error_reporting(0);
$table = "consolidated";
$primaryKey = "customerNumber";
$columns = array();
$columns[] = array('db' => 'source' , 'dt' => 0);
$columns[] = array("db"=>"mailingDate","dt"=>1);
$columns[] = array("db"=>"status","dt"=>2);
$columns[] = array("db"=>"cpi","dt"=>3);
$columns[] = array("db"=>"userId","dt"=>4);
$columns[] = array("db"=>"shorttext","dt"=>5);
$columns[] = array("db"=>"customerNumber","dt"=>6);
$columns[] = array("db"=>"customerName","dt"=>7);
$columns[] = array("db"=>"dlDate","dt"=>8);
$sql_details = array("user" => "XXX","pass" => "XXX","db" => "XXX","host" => "XXX");
require("ssp.class.php");
echo json_encode(SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns ));
?>

我可以自己运行php脚本,它会以dataTables示例中显示的格式显示正确的数据。在我的应用程序中,在屏幕上我得到的是标题行,它似乎不是一个dataTables看起来格式。

任何人都可以看到可能导致没有数据显示的内容吗?

1 个答案:

答案 0 :(得分:0)

我相信“columnDefs”对象应该是一个数组:

enter image description here

我使用angular-datatables包中包含的DTColumnDefBuilder后控制台记录了这个。我错了 - 我也有一些DT的困难。