Ich verwende jQuery DataTables und mache serverseitige Daten. Ich versuche, eine Funktion aufzurufen, wenn der Ajax-Aufruf zurückkehrt. Ich habe versucht, dies einzufügen fnCallback2 die meine Funktion und die ursprüngliche Funktion aufruft, aber jQuery wirft nur einen Fehler (und sagt mir nicht, was der Fehler ist) und überspringt.
Wie rufe ich meinen Code nach der Ajax-Anfrage richtig auf, damit der ursprüngliche Rückruf auch aufgerufen wird?
Eine weitere Möglichkeit ist die Verwendung von fnDrawCallback die nach jedem Ziehungsereignis aufgerufen wird. Was nach jeder Ajax-Anfrage durchgeführt wird.
Das funktionierte wie am Schnürchen! Es wurden jedoch jedes Mal AJAX-Funktionen wie jQueryUI-Dialoge ausgelöst, also dachte ich, hier zu teilen, dass, wenn Sie eine Funktion binden, zuerst das Ereignis lösen müssen, damit es funktioniert. IE: “fnDrawCallback”: function() { $(“#ask_container” ).finde einen[href^=”includes/view”].t3_txt’).unbind(“click”); $(“#ask_container”).find(‘a[href^=”includes/view”].t3_txt’).on(“click”,function(b){b.preventDefault(); var ce=$(this).attr(“href”); … der Rest Ihrer Funktion steht hier!
– Jean GT
11. September 2012 um 22:10 Uhr
Der Schlüssel (früher fnDrawCallback) ist jetzt drawCallback (seit: 1.10). Außerdem erhält die Funktion a settings Objekt als erstes Argument.
– basisch6
21. Februar 2015 um 19:09 Uhr
@ basic6 Obwohl die Dokumentation das sagt settings Objekt ist NICHT optional, nichts weiterzugeben funktioniert auch. Irgendeine Idee warum/wie?
– Sterex
30. Juli 2015 um 20:27 Uhr
@Sterex: Nichts weitergeben? Datentabellen übergibt dieses Einstellungsobjekt an Ihren Rückruf. Ob Sie es verwenden oder nicht, bleibt Ihnen überlassen.
– basisch6
31. Juli 2015 um 16:10 Uhr
Gyrocode.com
LÖSUNG
Mit DataTables 1.10 gibt es mehrere Möglichkeiten, das Ajax-Abschlussereignis zu handhaben.
Die Verwendung hat einen zusätzlichen Vorteil xhr Veranstaltung gegenüber ajax.dataSrc Möglichkeit:
Ab DataTables 1.10.7 wird dieses Ereignis sowohl durch Erfolgs- als auch durch Fehlerbedingungen ausgelöst, wenn die Ajax-Anforderung abgeschlossen ist (dh es wird immer ausgelöst, unabhängig vom Ergebnis der Ajax-Anforderung).