データをサーバ側の処理モードで使用して、データをバッチに非同期でロードしようとしています。これは大量のデータセットに役立つ非常にです。ドキュメントは十分明確ですが(https://datatables.net/examples/data_sources/server_side.html)、私はGoogle Apps ScriptとそのHTMLServiceで実装する方法を検討するのに苦労しています。Google Apps ScriptでDatatablesのサーバー側処理を使用する方法
$(document).ready(function() {
google.script.run.withSuccessHandler(loadLogList).getLogList();
});
function loadLogList(data) {
if (data) {
for (var i = 0; i < data.length; i++) {
htmlString += "<tr><td>" + data[i][0] + "</td>";
htmlString += "<td>" + data[i][1] + "</td>";
htmlString += "<td>" + data[i][2] + "</td>";
htmlString += "<td>" + data[i][3] + "</td></tr>";
}
$("#LogListBody").html(htmlString);
}
var table = $("#LogList").DataTable({
"columnDefs": [
{ "orderData":[ 0 ], "targets": [ 1 ] },
{
"targets": [ 0 ],
"visible": false,
"searchable": false
} ],
"paging": true,
"select": true
});
}
ドキュメントはDataTableのは次のように初期化が必要なことを示唆している:
は、私が現在(作業している)を使用していますと、一度内のすべてのデータをロードするのDataTable ある
$(document).ready(function() {
$('#example').DataTable({
"processing": true,
"serverSide": true,
"ajax": "../server_side/scripts/server_processing.php"
});
});
なんとか "ajax"に "google.script.run"を指定する必要があります。何か案は?私はjsonフォーマットのデータを返すために、サーバー側(Code.gs)に関数を書く必要があります。誰もがこのためのサンプルコードを持っているなら、私は非常に感謝しています。
ありがとうございました
プラグインはすでにDOMにロードされているものを解析します。データが必要なときに引き出される非同期スキームに移行したい。 – h0dges
それを入手してください。投稿したコードをスクラップしたい。 ajax呼び出しのカスタム関数の使用について投稿したドキュメントを見てください。 –
@SpencerEaston私はOPとまったく同じ問題を抱えています。私はあなたのコードを試しましたが、それは '不動産価値のために失敗:ajax'を返します。あなたはなぜそうするのか考えているからですか?またwithSuccessHandlerメソッドで 'callback'を使用していますか? – mkab