以下のコードは、次のことを行います。
- データを取得するために getData.php にリクエストを送信します。
- サーバー側のコードがデータを取得するために動作しているときに、スピナーが表示されます。
- データが来るとスピナーは非表示になります
私の問題は、データが来ていなくてもスピナーを非表示にする方法がわからないことです。
jquery コード:
<script type="text/javascript">
$(document).ready(function() {
var spinnerOpts = {
// Options for the spinner here...
...
};
var target = document.getElementById('spinn');
var spinner = new Spinner(spinnerOpts);
$('#myTable').dataTable( {
"bProcessing": true,
"sAjaxSource": "getData.php",
"fnPreDrawCallback": function() {
spinner.spin(target); // Show the spinner
},
"fnRowCallback": function() {
spinner.stop(); // Hide the spinner
}
} );
} );
</script>
次のコードは、データがない場合に getData.php から json 文字列を送信します。
echo '{
"sEcho": 1,
"iTotalRecords": "0",
"iTotalDisplayRecords": "0",
"aaData": []
}';