带有Codeigniter的jQuery数据表不显示数据
问题描述:
我正在构建使用Codeigniter的管理面板应用程序,并希望使用jQuery DataTables的服务器端处理方法来获取我的成员记录(因为我有相当多的成员记录)。我正在使用Ignited DataTables CI库来获取并尝试显示我的数据。我可以使用独立版本的Datatables Server Side Implementation找到here,但希望将它与CodeIgniter配合使用,以便与我的其他应用程序保持一致。这里是我到目前为止的代码:带有Codeigniter的jQuery数据表不显示数据
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"
}
任何和所有的帮助,将不胜感激!
答
你必须修改库与邮政合作,而不是GET
或
您必须配置数据表中的工作与GET
这里配置方法的一个例子,它使用满足您的需求
http://www.datatables.net/release-datatables/examples/server_side/post.html
11007记录相当多,不是吗?你有没有尝试用更少的(比如说100)来测试它?它可能会超载DataTables。 – Seabass 2012-04-19 19:02:23
我想明白了...... IgnitedDataTables库只是检查$ _POST数据,而我的脚本发送的参数是$ _GET data.I修改了库以检查两个输入流('$ this-> ci-> input - > get_post()')。希望这可以帮助那些陷入困境的人。 – 2012-04-19 19:33:28
@EricPaulsen:随时发布(并接受)您的答案,为未来的访问者带来益处。 – 2012-04-19 20:22:30