5

データベースからテーブルにデータを取得しようとすると、次のエラーが発生します。

DataTables warning (table id = 'student_table'): Requested unknown 
parameter '1' from the data source for row 0

以下は私が使用したjavascriptです

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
    $('#student_table').dataTable( {
        "bProcessing": true,
        "bServerSide": true,
        "sServerMethod": "POST",
        "sAjaxSource": "<?php echo base_url()?>index.php/data/all"
    } );            
} );
</script>

取得した JSON データ:

{"sEcho":0,"iTotalRecords":3,
"iTotalDisplayRecords":3,
"aaData":[["85","t1","1D"],["74","test475","4A"],
["777","maiz","5"]],"sColumns":"id,name,class"}

以下は私のテーブルです:

<table class="datatable tables" id="student_table">
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Class</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td class="dataTables_empty">Loading data from server</td>
        </tr>
    </tbody>
</table> 

PHP コード (点火されたデータテーブル)

$this->load->library('datatables');

$this->datatables->select('admission,name,class');
$this->datatables->from('students');
echo $this->datatables->generate();

私は codeigniter と DataTables を使用しています。

このエラーが発生する理由と、データをテーブルに取得する方法を教えてください。

4

4 に答える 4

13

私も同じ問題を抱えていました。問題はここにあります:

<tr>
          <td class="dataTables_empty">Loading data from server</td>
</tr>

3つある<TH>のに 1 つしかありません。さらに 2 つ<td> 追加<td>すると、エラーが修正されます。もう1つ、利用可能なデータがない場合、メッセージが自動的に表示されます。メッセージを表示する必要はありません。この場合、これは自動的に行われるため、削除できます。

<tr>
          <td class="dataTables_empty">Loading data from server</td>
</tr>

メッセージをカスタマイズするには、これをオプションとして渡します"sEmptyTable": "Loading data from server"

$('.datatable ).dataTable({
  "bFilter": false,
   "bPaginate": false,
   "bLengthChange": false,
   "bInfo": false,
   "oLanguage": {
    "sEmptyTable": '',
    "sInfoEmpty": ''
   },
   "sEmptyTable": "Loading data from server"
 });
于 2013-02-02T07:22:20.390 に答える
1

POST メソッドを使用してデータを取得しています。datatablesで提供されている php の例に従うと、GET メソッドが使用されます。並べ替えまたは検索を使用する場合、すべての要求は GET であると想定しています。

于 2012-09-05T11:45:25.237 に答える
0

役立つかもしれないいくつかのアイデア...

  1. サーバーからの応答が、正しいヘッダーで正しくフォーマットされた JSON であることを確認してください。例 https://stackoverflow.com/a/4064468/661584 igniter/php についてはよくわかりませんが、問題になる可能性があります。

  2. sColumns パラメーターがそれ自体で正しいかどうかはわかりません。クライアントで列を並べ替えるためだと思います... sName でのみ使用されます http://datatables.net/usage/columns#sName および http://datatables.netを参照してください/使用法/サーバー側

だからそれはそれを台無しにしているかもしれません。

  1. それ以外の場合は、ここで答えを見てください...助けになるかもしれません。

幸運を

于 2012-10-20T06:39:23.490 に答える
0

私たちは同様の問題を抱えていました...

ただし、頭がおかしくなる前に、表のデータを確認してください。私たちの場合、私たちのデータには、テーブルにデータを入力するデータで使用されるハイパーリンクとカーリー クォートが含まれていました。データが CSV ファイルからアップロードされたときに、これらのカーリー クォートが削除されていました。簡単に言えば、IE では対処できませんでしたが、Chrome と Firefox では無視されました。

于 2013-03-14T12:52:57.270 に答える