On initial load of my datatable via ajax, the table shows no data and 'Loading...' appears in the table body.
On DataTable().ajax.reload(), the 'Loading...' text is not present.
I know I can turn on the processing option to get the bar across the table, but if I do this then on initial loading my users see both 'Loading...' in the table body and 'Processing...' on top of that.
Has anyone found a solution to have one all the time or the other? I would prefer to replace the table body with 'Loading...' for each ajax reload.
Thanks!
With Datatables 1.10 I had the same issue.
I found a way to get this to work.
If you use the preXhr event which fires before the ajax call you can
- clear the table
- Set the draw count back to 0, which triggers the
initial message again
ReDraw the table and loading will appear.
mydataTable.on('preXhr.dt', function(e, settings, data){
$(this).dataTable().api().clear();
settings.iDraw = 0; //set to 0, which means "initial draw" which with a clear table will show "loading..." again.
$(this).dataTable().api().draw();
});
There are "language" options where you can dictate what shows up during various events. DataTables has great documentation showing it. https://datatables.net/reference/option/language.processing