|
Stud.IP Dokumentation
Entwickler-DokuWeitere Themen
Plugin-Schnittstellespezielle Klassen(edit) |
AJAX in Stud.IPDie Abkürzung AJAX steht für "Asynchronous Javascript and XML" und beschreibt eine Technik, die den asynchronen Datenaustausch zwischen Browser und Server ermöglicht. Hierdurch lassen sich einzelne Elemente einer Website direkt im Browser über HTTP-Anfragen aktualisieren, ohne die komplette Seite erneut übertragen zu müssen. Webanwendungen, die mit AJAX arbeiten, sind für den Benutzer intuitiver und flüssiger bedienbar und kommen damit in die Nähe gewöhnlicher Desktop-Anwendungen. Hinzukommt eine aufgrund des seltenen Ladens der kompletten Seite verringerte Serverlast. VoraussetzungenUm AJAX-Anwendungen ausführen zu können, muss der Browser JavaScript und die sogenannte Obwohl die Vorraussetzungen auf Browserseite praktisch in allen Fällen erfüllt sind, ist es notwendig, dem Benutzer Alternativen zur auf AJAX basierenden Anwendung zu bieten. So wäre es zum Beispiel möglich, dass JavaScript aus Sicherheitsgründen deaktiviert ist. Auch ist genau zu überprüfen, ob eine AJAX-Anwendungen den Richtlinien des barrierefreien Internets folgen kann. Oft unterstützen die bei Sehbehinderungen eingesetzen Screenreader keine JavaScript-Funktionalitäten. In Stud.IP steht eine globale Variable Bestandteile von AJAXAJAX ist lediglich der Oberbegriff für die Kombination einer Reihe von Techniken. Hierzu gehören unter anderem:
Implementierung in Stud.IPStud.IP verwendet das JavaScript-Framework jQuery, welches unter anderem Funktionen zur einfachen Implementierung von AJAX-Anwendungen zur Verfügung stellt. Die entsprechende Bibliothek ist standardmäßig geladen und steht direkt zur Verfügung. ServerseiteAuf der Serverseite sollte sich eine seperate PHP-Datei um die asynchrone Kommunikation mit dem Browser kümmern. Diese muss die Berechtigungen des Benutzers überprüfen, Anfragen des Browser entgegennehmen und Antworten auf diese zurückliefern. Im Folgenden ein Beispiel hierzu: In Zeile 3 und 4 werden zuerst die Stud.IP spezifischen Sicherheitsfunktionen aufgerufen. Es werden die aktuelle Session und die Berechtigung des Benutzers überprüft. In Zeile 6 wird dann sichergestellt, ob vom Browser in seiner Anfrage ein Parameter mit dem Namen Die vorhandene Plugin-Klasse muss nun neben der normalen HTML-Ausgabe das entsprechende JavaScript an den Browser liefern und die Überprüfung auf eventuell nicht unterstütztes bzw. deaktiviertes JavaScript durchführen. ClientseiteIn der im Browser des Benutzers geladenen HTML-Seite muss dem zu veränderten Element eine eindeutige ID zugewiesen sein. Diese dient zum Zugriff auf das entsprechende Element, um es zum Beispiel zu manipulieren oder vom Server erhaltene Daten einzufügen. In diesem Fall wird ein Button verwendet, der beim Klick auf ihn die entsprechende JavaScript-Funktion aufruft. <input type="button" value="Daten laden" onclick="PluginLoadData();" /> <div id="ajaxTest"> - hier soll etwas eingefuegt werden - </div> Als letztes ist natürlich die JavaScript-Funktion erforderlich, die sich um die Abwicklung der HTTP-Anfrage und das Einfügen der neu erhaltenen Daten in die Seite kümmert. jQuery liefert hierfür sehr hilfreiche Funktionen, sodass die Funktion kurz und übersichtlich gehalten werden kann. function PluginLoadData(){ $("#ajaxTest").load( "PfadZumPlugin/ajaxTestPluginServer.php", {cmd: 'time'} ); } Hier wird die Für einen allgemeineren Aufruf können natürlich auch die anderen AJAX-Funktionen von jQuery verwendet werden wie jQueryDie einzige Javascript-Bibliothek, die von Haus aus in Stud.IP mitgeliefert wird, ist jQuery. Eine komplette Beschreibung der Möglichkeiten finden Sie in der guten Dokumentation http://docs.jquery.com/ .
| ||
| |||