jQuery プラグイン DataTables を使用して、サーバーからのデータを含むテーブルを作成しています。データは Ajax ソースを使用して自動的に取得され、サーバー側を使用してページネーションを実行しています。
これは私の列とテーブルの初期化です:
var dTColumns = [];
jQuery.each(inputData.columns, function(key, value){
dTColumns.push({
"bVisible": key<4,
"bSortable":false,
"aTargets": [ key ],
"mData": value["fieldName"]
});
});
jQuery(table).dataTable({
"aoColumnDefs": dTColumns,
"bProcessing" : true,
"sAjaxSource" : inputData.serverURL,
"bServerSide": true,
"sAjaxDataProp" : inputData.resultsRootAttribute
});
問題は、すべてのテーブル操作 (ナビゲーションおよび並べ替えシステムを使用してトリガーされる検索) に GET 要求を使用していることです。すべての列が URL 内に配置されていることに気付きました (これは、例でも発生します)。
問題は、テーブルに 200 以上の列があり (最初の 5 つだけが表示されている)、プラグインが URL に各列の 4 つのフィールドを入力することです。
DataTables がこれらすべてのパラメーターを URL に配置しないようにするにはどうすればよいですか? (列のソートおよび検索機能は必要ありません)。
答え : テーブルを初期化するときに、サーバーとの通信を実行する独自の方法を追加できます。このメソッド内で、サーバーに送信されるすべてのパラメーターを含む配列であるaoDataオブジェクトを変更できます。
ここで例を見つけることができます!