Ich versuche, zwei AJAX-Aufrufe zu vermeiden, indem ich .ajax.params()
verwende, um die letzten AJAX-Parameter zu erhalten und die Tabellendaten von meinem ersten Aufruf zurückzugeben.Manuelles Laden von Aktualisierungsdatatadaten ohne Aufruf von AJAX
ich in meinem eigenen json zu Datentabellen nach diesem Muster
datatable.clear();
datatable.rows.add(newDataArray);
datatable.draw();
von diesem question passieren dann.
Allerdings hat meine Tabelle Ajax so eingestellt, wenn draw()
aufgerufen wird, wird ein anderer Ajax-Aufruf ausgelöst, der den Punkt der Weitergabe der Daten selbst besiegt. Was ich brauche, ist eine Möglichkeit, den Ajax-Aufruf zu unterdrücken, während die Tabelle neu gezeichnet wird.
Eine Alternative wäre, meine eigene Ajax-Behandlung zu schreiben und manuell die Daten in Datatables wie oben hinzuzufügen, aber ich denke, dass ich auch die Ajax-Parameter selbst erstellen müsste, was ein Schmerz wäre.
Warum wollen Sie einen AJAX-sourced Tisch haben wollen, aber dann manuell Reihen hinein laden? Warum nicht bei der einen oder anderen Methode bleiben? –
Wenn bestimmte Ereignisse auftreten, mache ich einen Ajax-Aufruf, um Daten auf der Serverseite zu aktualisieren, manchmal ändern diese die Daten hinter der Tabelle. Momentan, wenn dieser Ajax-Aufruf zurückkommt, teilt er der Datatable das Redraw mit, allerdings verwendet dies einen anderen Ajax-Aufruf, den ich vermeiden möchte. – edlouth
Vielleicht gehe ich das in die falsche Richtung, anstatt die Daten von einem anderen Ajax-Aufruf zu laden, könnte ich den Datatables-Aufruf mit table.ajax.url ändern und zusätzliche Parameter mit ajax.data hinzufügen (nicht sicher, wie man dies nach der Initialisierung setzt) . Die Frage wird dann, wie das Neuzeichnen basierend auf dem zurückgegebenen JSON abgebrochen wird. – edlouth