Ich versuche, Datatables in meinem Projekt zu verwenden. Ich möchte die Verwendung der Rückrufoption "fnServerData" verstehen. Ich habe das Dokument hier durchgelesen und den folgenden Beispielcode gesehen -
%Vor%Was sind "sSource", "aoData" -Parameter hier und wie liefern wir Werte darin? Anstatt eine JSP oder PHP als Quelle (sAjaxSource) zu verwenden, können wir auch ein Formular senden, das JSON-Daten dynamisch erhält?
fnServerData
ist eine interne Funktion in DataTables, die mit Ihrem eigenen Ajax-Handler überschrieben werden kann. In diesem Fall mit einer komfortablen jQuery-Funktion Lesen Sie hier mehr
Die Parameter sind im DataTables-Kern definiert und werden in dieser bestimmten Reihenfolge benötigt.
sSource
ist die URL, unter der sich Ihre Datenquelle befindet. Es wird bei initiizalition auf den Wert in sAjaxSource
gesetzt. In diesem Fall xhr.php
aoData
ist ein Array von Parametern, die an die Datenquelle gesendet werden. Dieser enthält standardmäßig paginationinfo, sortinginfo, filterinfo usw. (die automatisch vom Kern gesetzt werden), auf die Ihr dataSource-Skript reagieren soll. (Zum Beispiel: Begrenzen Sie eine SQL-Abfrage auf Seitengröße usw.) Um weitere Informationen an Ihre Anfrage zu senden, können Sie andere Werte auf aoData
schieben. Wie so:
(Erhält die Werte von zwei Eingabefeldern namens data1 und data2 über jQuery von a Form und enthalten sie in den POST als Input1 und Input2)
Wenn Sie wissen möchten, was gesendet wird, können Sie die POST Data with Firebugs-Konsole anzeigen oder den Typ in GET
ändern. Dann sehen Sie die übergebenen Parameter in der Adressleiste (Achtung, dies kann eine sehr lange Zeichenfolge sein, die abgeschnitten werden könnte).
fnCallback
ist auch eine eingebaute Funktion des Kerns, die überschrieben werden kann, aber in diesem Fall nicht. Sie sollten eine eigene Funktion bereitstellen, falls Sie nach dem Empfang der Daten eine Nachbearbeitung in JS durchführen möchten.
Zum zweiten Teil Ihrer Frage: Natürlich brauchen Sie weder PHP noch JSP. Jede serverseitige Sprache, die JSON-Daten dynamisch bereitstellen kann, ist in Ordnung (Phyton, Node, Sie nennen es ...)
Tags und Links jquery jquery-datatables