DataTablesにAjaxで取得したデータを表示するの、便利ですよね。
サーバーで何かエラーが起こったときにブラウザでカスタムメッセージを表示したいなーって場合、レスポンスのJsonを以下のようにすると一応表示できます。
JSON
{"error":"カスタムメッセージ"}
エラー表示例
DataTables warning: table id=hogehoge - カスタムメッセージ
ただ、これだけだとJavascriptのエラーが出ちゃうので、データ0件だよーという内容のレスポンスに仕立てます。
JSON
{"data":[],"draw":1,"recordsFiltered":0,"recordsTotal":0,"error":"カスタムメッセージ"}
これでアラートが表示されたあとにJavascriptエラーは出ません。
ちなみに、アラート表示だけじゃなくて他に何かJavascriptで処理したい場合は以下のようにエラー処理方法もカスタムします。
Javascript
$.fn.dataTable.ext.errMode = function(settings, techNote, message){
alert(message);
// 何か処理を書く
};
英語苦手マンなのでDataTablesのリファレンス読むの難しい・・・。