我正在使用 Codeigniter 构建一个管理面板应用程序,并希望使用 jQuery DataTables 的服务器端处理方法获取我的成员记录(因为我有大量的成员记录)。我正在使用Ignited DataTables CI 库来获取并尝试显示我的数据。我能够使用此处找到的 Datatables Server Side Implementation 的独立版本来实现此功能,但希望通过 CodeIgniter 来实现此功能,以便与我的应用程序的其余部分保持一致。到目前为止,这是我的代码:
CI 控制器:
$this->load->library('DataTables');
$this->load->model('table_model', 'table');
$this->datatables->select('member_id, username,email, first_name, last_name')
->from($this->table->getTable('members'))
->join($this->table->getTable('groups'), 'members.group_id = member_groups.group_id', 'left')
->select('group_title');
echo $this->datatables->generate();
exit;
HTML:
<table id="members">
<thead>
<tr>
<th>Member ID</th>
<th>Username</th>
<th>Email</th>
<th>First Name</th>
<th>Last Name</th>
<th>Group Name</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="7" class="dataTables_empty">Loading members...</td>
</tr>
</tbody>
</table>
jQuery:
$(document).ready(function() {
$("#members").dataTable({
"bProcessing" : true,
"bServerSide" : true,
"sAjaxSource" : "/members/fetch_members",
"sPaginationType" : "full_numbers"
});
});
JSON响应:
{
"sEcho": 0,
"iTotalRecords": 11007,
"iTotalDisplayRecords": 11007,
"aaData": [ //member records here],
"sColumns": "member_id,username,email,first_name,last_name,group_title"
}
任何和所有的帮助将不胜感激!