0

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"
}

ありとあらゆる助けをいただければ幸いです。

4

1 に答える 1

0

GETではなくPOSTで動作するようにライブラリを変更する必要があります

また

GETで動作するようにdatatableを構成する必要があります

これは設定方法の例です。必要に応じて使用してください

http://www.datatables.net/release-datatables/examples/server_side/post.html

于 2013-03-23T13:48:13.740 に答える