0

dataTablesプラグインをWebサイトの情報で動作させるようにしようとしています。私は、データテーブルのドキュメントさまざまな サポートスレッド、およびさまざまな StackOverflowの 質問を読みましたが、解決には役立ちませんでした。上記のドキュメントによると、私が持っているコードは問題なく機能するはずです...そうではありません。

Javascript:

$(document).ready( function(){
 $('#results_table').dataTable( {
  'bServerSide': true,
  'sAjaxSource': 'results.php',
  'fnServerParams': function ( aoData ) {
    aoData.push( { 't': Math.random() }); 
    }
   });
});

HTMLコード:

<div id='results'>
  <table id='results_table' >
   <thead>
    <tr>
    <th>Num</th>
    <th>Type</th>
    <th>Access date</th>
    <th>Access name</th>
   </tr>
  </thead>
 <tbody>
</div>

PHPスニペット(SQLデータを取得/フォーマットした後:

$output = array('sEcho'=>1,'iTotalRecords'=>$count, 'iTotalDisplayRecords'=>$count, 'aaData'=> $results);
echo json_encode($output);

返されたデータ(テスト用の合計の小さなサブセット):

{"sEcho":1,"iTotalRecords":3,"iTotalDisplayRecords":3,"aaData":[["1707052901-1A","D","Aug 17, 2012 1:54 PM","aqr"],["1707052901-1A","C","Aug 17, 2012 1:53 PM","aqr"],["2835602-4A","D","Aug 15, 2012 7:39 AM","aqr"]]}

今、私がデータテーブルでページをロードするとき、私は-に関して非常に役立つ答えを受け取ります

Uncaught TypeError:未定義のjquery.dataTables.min.js:49のプロパティ'length'を読み取れません

テーブルには情報が入力されていません。

質問:私は何を間違っているのですか。dataTablesのサーバー側処理の実装が機能しないのはなぜですか?これを修正して正しく表示するにはどうすればよいですか?

4

1 に答える 1

3
aoData.push( { 't': Math.random() }); 

このように使用する必要があります:

aoData.push( { 'name': 't', 'value':Math.random() }); 

これが問題かどうかはわかりませんが、データテーブルを使用する際の問題の一部が修正されました

于 2012-08-21T17:45:50.700 に答える