2013-04-09 61 views
0

我想用表中的數據庫值填充數據表。下面是我的代碼,一切似乎是確定,但將返回錯誤「類型錯誤:威剛是不確定的」,因此數據表未創建Datatables TypeError:aData未定義

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#listax').dataTable({ 
     "bProcessing": true, 
     "bLengthChange": true, 
     "bFilter": true, 
     "bSort": true, 
     "bInfo": true, 
     "bAutoWidth": true, 
     "bServerSide": true, 
     "sServerMethod": "POST", 
     "sAjaxSource": "<?php echo base_url(); ?>ajax_live/getUsers", 
     "aoColumns": [ 
      null, 
      null //put as many null values as your columns 
     ] 
    }); 
}); 
</script> 

<table id="listax"></table> 

服務器端

function getUsers(){ 
    $this->db->select('id,username'); 
    $query = $this->db->get('user'); 
    $data = $query->result(); 
    echo json_encode($data); 
} 

這是返回的數據JSON編碼

[ 
    {"id":"6","username":"Lab23"}, 
    {"id":"11","username":"MaryMM"} 
] 
+0

您可以嘗試打印$數據之前編碼它,我懷疑它會返回空結果。 – 2013-04-09 09:43:07

+0

chandresh_cool,它不會返回空結果,我編輯了代碼以顯示返回的內容 – alphy 2013-04-09 10:35:58

+0

您不會將正確的json數據返回給Datatable,請點擊此處http://www.datatables.net/examples/data_sources/server_side。 html輸出在php代碼 – Aurel 2013-04-09 20:25:18

回答

1

當我這樣做,我不得不定義列。
正在發回的示例數組;

Array 
(
    [0] => stdClass Object 
     (
      [id] => 6 
      [username] => "Lab23" 
     ) 
    [1] => stdClass Object 
     (
      [id] => 11 
      [username] => "MaryMM" 
     ) 
) 

所以,如果你的JSON編碼陣列具有ID用戶名的數據表將具有以下段在它的鍵值。

$(document).ready(function() { 
    $('#listax').dataTable({ 
     "bProcessing": true, 
     "bLengthChange": true, 
     "bFilter": true, 
     "bSort": true, 
     "bInfo": true, 
     "bAutoWidth": true, 
     "bServerSide": true, 
     "sServerMethod": "POST", 
     "sAjaxSource": "<?php echo base_url(); ?>ajax_live/getUsers", 
     "aoColumns":[ 
      {"mDataProp":"id"}, 
      {"mDataProp":"username"} 
     ] 
    }); 
}); 
+0

我編輯了代碼清單以顯示json編碼的返回結果 – alphy 2013-04-09 10:36:28

+0

@ user2249879您是否嘗試過上述代碼 - 是否有效? – Rooneyl 2013-04-09 11:30:42

+0

是的,我已經嘗試過的代碼,它沒有工作,同樣的錯誤 – alphy 2013-04-09 11:43:48