我想用表中的数据库值填充数据表。下面是我的代码清单,一切似乎都很好,但返回一个错误"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 encode
返回的数据[
{"id":"6","username":"Lab23"},
{"id":"11","username":"MaryMM"}
]
当我这样做时,我必须定义列。
返回数组示例;
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"}
]
});
});