私はDatatable
を使用して5つのタブを持つテーブルを表示しています。しばらくの間デバッグした後、私はデータベースへの各呼び出しが2回行われていることに気づいた。最初の呼び出しは空のJSONを返し、2番目の呼び出しは適切なデータを返します。これにより、最初のコールが終了する前にコールの第2グループが終了したときに、テーブルにデータが入力されなくなります。2回ランダムに呼び出されたデータテーブルは空のテーブルになります
これは私が使用しているコードです:ここでは
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
$.fn.dataTable.tables({visible: true, api: true}).columns.adjust();
});
var table = $('table.table').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"dataSrc": "Data",
"url": "my_controller/getDataTable",
"data": { string: $("input.form-control").val() },// gets the value from the hidden search field and check the db with this string (i.e "job2")
"type": "POST"
},
"columns": [
{ "data": "name" },
{ "data": "eff" },
{ "data": "sal" },
{ "data": "id", // The data to use in the link
"render": function(data,type,row,meta) {
var a = "<a href='some_url'><button>hire</button>";
return a;
}
}
]
});
// Apply a search to the other tables to filter the list automatically
$('#myTable1').DataTable().search('job1').draw();
$('#myTable2').DataTable().search('job2').draw();
$('#myTable3').DataTable().search('job3').draw();
$('#myTable4').DataTable().search('job4').draw();
$('#myTable5').DataTable().search('job5').draw();
私が問題を引き起こしている私のコードのどの部分を理解していません。私が最後に.draw
を削除した場合、唯一の空の応答があります
...
更新。検索( 'job1').draw(); ' – Kramb