5

プロジェクトで Datatable 1.9.2 を使用しています。AJAX経由で応募者のリストを表示しています。データをフィルタリングするために使用されるフィルターフォームもあります。すべてが正常に機能していますが、問題は、レコードをフィルタリングし、DB からデータが返されない場合、datatable が POPUP でエラーを生成することです。誰かがデータテーブルで空の ajax 応答を処理する方法、空のデータセットを処理する方法を教えてくれますか?

以下は私が使用しているコードです

    $('#applicants_list').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sPaginationType": "bootstrap",                 
"sDom": '<"H"Cfr>t<"F"ip>',
"oColVis": {
     "activate": "mouseover",
     "aiExclude": [ 10 ],
     "sAlign": "left"
},
"bFilter": false,
"sAjaxSource": script.php,
"aoColumns": [                               
       {"bSortable": true }, // attachments
       {"bSortable": true }, //Subject Line
       {"bSortable": true }, // Date Sent
       {"bSortable": true }, // File Name
       {"bSortable": false },
       {"bSortable": false },
       {"bSortable": true },
       {"bSortable": true },
       {"bSortable": true },
       {"bSortable": false }
],
"aaSorting": [[0, 'desc']]
} );
4

4 に答える 4

6

フィルターの戻りレコードが空の場合、サーバー/ajax 応答から次のデータを返すだけで、空のレコード メッセージが表示されます。

echo '{
    "sEcho": 1,
    "iTotalRecords": "0",
    "iTotalDisplayRecords": "0",
    "aaData": []
}';
于 2013-03-16T13:30:15.080 に答える
1

ASP.NET ソリューションをお探しの方のために、JSON.NET を使用した例を次に示します。

JObject jObj = new JObject(
    new JProperty("draw", 0),
    new JProperty("recordsTotal", 0),
    new JProperty("recordsFiltered", 0),
    new JProperty("data", new JArray())
);

return Content(jObj.ToString(Formatting.None), "application/json");

ここでの他の回答のパラメーターは、従来のバージョンの DataTables 用です。ただし、少なくとも aaData は、コードで見たものから処理されます。

于 2016-10-23T19:15:43.290 に答える