Ich verwende jQuery Datatable, um Daten aus der Datenbank anzuzeigen. Ich benutze Ajax, um die Daten zu bekommen. Die Situation ist so, dass ich Bootstrap-Registerkarten habe. Wenn der Benutzer also auf irgendwelche Registerkarten klickt, werden die Daten angezeigt, die der Registerkarte entsprechen. Also mein Code für jQuery ist wie diesejQuery ajax datatable zeigt einige Sekunden lang alte Daten an?
$('a.communication-data[data-toggle="tab"]').on('click', function(e) {
$('#get_communication').dataTable().fnDestroy();
var proj_id = $('input#user_project_id').val();
var communicationTable = $('#get_communication').dataTable();
$('#get_communication').dataTable({
"processing": true,
"serverSide": true,
"bDestroy": true,
"iDisplayLength" : trans.show_rows,
"ajax": ajaxUrl+"?action=get_communication_history&proj_id="+proj_id,
language: {
searchPlaceholder: "Search.."
}
});
});
Hier wird die Datentabelle, die alten Daten für einige Sekunden zeigen und nach, dass es die aktuellen Daten zum ersten Mal zeigt. Wenn der Benutzer die Registerkarte erneut überprüft, ohne die Seite neu zu laden, werden die korrekten Daten angezeigt. Also kann mir jemand sagen, warum dieses Problem passiert? Wie behebe ich dieses Problem? Jede Hilfe und Vorschläge werden wirklich spürbar sein. Danke
was den Inhalt der Datentabelle vor dem Ajax-Aufruf ist –
Vielleicht hat Ihre Anfrage nicht vom Server zurückgegeben und während Anfrage Sie noch alte Daten sehen verarbeitet wird? – Justinas
@VelimirTchatchevsky Es gibt keinen festgelegten Inhalt vor dem Ajax-Aufruf. – NewUser