4D v16.3URLs und Form Actions |
||
|
4D v16.3
URLs und Form Actions
URLs und Form Actions
Der 4D Web Server bietet verschiedene "Form actions" in URL und HTML, um bestimmte Aktionen in Ihrer Datenbank zu integrieren. Es gibt folgende URLs:
4D Web Server akzeptiert einige zusätzliche URLs:
Syntax: 4DACTION/MyMethod/Param Verwendung: URL oder "Form action" Über diese URL können Sie ein HTML Objekt (Text, Schaltfläche...) mit einer 4D Projektmethode verbinden. Der Link lautet /4DACTION/MyMethod/Param, wobei MyMethod der Name der auszuführenden 4D Projektmethode ist, wenn auf ein Link geklickt wird, Param ein optionaler Textparameter, der der Methode in $1 übergeben wird (siehe nachfolgenden Abschnitt “Textparameter für über URLs aufgerufene 4D Methoden”). <<A HREF="/4DACTION/MyMethod/Param">Etwas ausführen</A> Die Projektmethode MyMethod sollte in der Regel eine "Response" zurückgeben, z.B. über WEB SEND FILE oder WEB SEND BLOB, etc. eine HTML Seite senden. Achten Sie auf eine möglichst kurze Ausführung, um den Browser nicht zu blockieren. Hinweis: Eine über 4DACTION aufgerufene Methode darf keine Oberflächenelemente aufrufen (DIALOG, ALERT...). Achtung: Damit eine 4D Methode mit der URL 4DACTION/ ausgeführt werden kann, muss die Option "Zugang per 4D HTML Tags und URLs (4DAction...)" markiert sein. Sie ist im Dialogfenster Methode-Eigenschaften enthalten und standardmäßig inaktiv. Weitere Informationen dazu finden Sie im Abschnitt Sicherheit der Verbindung. Dieses Beispiel weist die URL 4DACTION/ einem HTML Bildobjekt zu, um auf der Seite ein Bild dynamisch anzuzeigen. Sie fügen in einer statischen Seite folgende Anweisungen ein: <IMG SRC="/4DACTION/PICTFROMLIB/1000"> Die Methode PICTFROMLIB lautet: C_TEXT($1) // Dieser Parameter muss immer angegeben sein Der 4D Web Server ermöglicht auch “gepostete” Formulare zu verwenden. Das sind statische HTML-Seiten, die Daten an den Web Server senden. Sie müssen vom Typ POST sein und die Aktion des Formulars muss zwingend mit /4DACTION/MethodName starten. Hinweis: Ein Formular lässt sich über zwei Methoden übertragen, beide sind mit 4D verwendbar:
Erhält der Web Server ein "gepostetes" Formular, ruft er die Datenbankmethode On Web Authentication auf (wenn sie existiert). Gibt sie Wahr zurück, wird die Methode MethodName ausgeführt. In dieser Methode müssen Sie den Befehl WEB GET VARIABLES aufrufen, um die Namen und Werte aller Felder wiederzufinden, die in einer an den Server übertragenen HTML Seite enthalten sind. Hinweis zur Kompatibilität: In konvertierten Anwendungen wird, wenn im Seite Kompatibilität die Option "Automatische Variablenzuweisung" markiert ist, zuerst die spezielle Projektmethode COMPILER_WEB (wenn vorhanden) aufgerufen, dann die Datenbankmethode On Web Authentication. 4D finden die im Formular vorhandenen HTML Felder und füllt die 4D Variablen in der aufgerufenen Methode mit deren Inhalt, wenn sie den denselben Namen haben. Diese Funktionsweise ist überholt. Weitere Informationen dazu finden Sie im Abschnitt 4D Objekte mit HTML Objekten verbinden. Die HTML Syntax für das Formular lautet:
4D setzt für jedes Feld im Formular den Wert des Feldes in die Variable mit demselben Namen. In einer gestarteten 4D Web Datenbank sollen Browser in Datensätzen über eine statische HTML Seite suchen können. Diese Seite lautet “Suchen.htm”. Die Datenbank enthält weitere statische Seiten, über welche Sie z.B. das Suchergebnis anzeigen können (“Ergebnisse.htm”). Der Typ POST wurde sowohl der Seite als auch der Aktion /4DACTION/SUCHE zugewiesen. Hier der HTML Code für diese Seite: <FORM ACTION="/4DACTION/PROCESSFORM" METHOD=POST> <INPUT TYPE=TEXT NAME=VNAME VALUE=""><BR> <INPUT TYPE=CHECKBOX NAME=EXACT VALUE="Wort">Ganzes Wort<BR> <INPUT TYPE=SUBMIT NAME=OK VALUE="Suchen"> </FORM> Tippen Sie zur Dateneingabe im Dateneingabebereich “ABCD” ein, prüfen Sie die Option "Ganzes Wort" und bestätigen Sie durch Klicken auf die Schaltfläche Suchen. In der an den Web Server gesendeten Anfrage: VNAME="ABCD" 4D ruft die Datenbankmethode On Web Authentication (wenn vorhanden), dann die folgende Projektmethode PROCESSFORM: C_TEXT($1) //zwingend für komplilierten Modus Syntax: 4DCGI/<action> Verwendung: URL Empfängt der 4D Web Server die URL /4DCGI/ Die URL 4DCGI/ entspricht keiner Datei, ihre Aufgabe ist lediglich, 4D mit der Datenbankmethode On Web Connection aufzurufen. Der Parameter “<action>” kann Information jeglicher Art enthalten. Mit dieser URL können Sie eine beliebige Aktion durchführen. Sie müssen lediglich den Wert von $1 in der Datenbankmethode On Web Connection oder in einer ihrer Untermethoden prüfen und 4D die entsprechende Aktion ausführen lassen. Sie können z.B. eigene statische HTML Seiten einrichten, um Datensätze hinzuzufügen, zu suchen oder zu sortieren bzw. GIF Bilder on-the-fly erstellen. Anwendungsbeispiele zu dieser URL finden Sie unter den Befehlen PICTURE TO GIF und WEB SEND HTTP REDIRECT. Am Ende einer Aktion muss über Befehle, die Daten senden, eine Antwort zurückgegeben werden (WEB SEND FILE, WEB SEND BLOB, etc.). Warnung: Achten Sie darauf, dass die kürzest mögliche Aktion ausgeführt wird, um den Browser nicht unnötig warten zu lassen. 4D sendet Textparameter zu jeder 4D Methode, die über spezielle URLs (4DACTION/ und 4DCGI/) aufgerufen wird. Dabei gilt folgendes:
Je nach Art und Ursprung des Aufrufs einer Methode müssen Sie bestimmte Parameter angeben.
//Datenbankmethode On Web Connection
//Über URL 4DACTION/ aufgerufene Methode
//Über 4DSCRIPT/ als HTML Kommentar aufgerufene Methode Syntax: Verwendung: URL in POST oder GET Methoden Diese URL synchronisiert die Daten in den Tabellen lokaler 4D Datenbanken mit einer remote Datenbank über HTTP. Sie kann z.B. eine 4D Datenbank mit einer Client Applikation synchronisieren, die auf einem Smartphone installiert ist, sowie andere HTTP Applikationen von Drittherstellern. Die URL 4DSYNC/ wird in einer GET Methode verwendet, um die Daten der 4D Datenbank wiederherzustellen oder in einer POST Methode, um die Daten in der 4D Datenbank zu aktualisieren. Folgende HTTP Anfragen können empfangen werden:
Hinweis: Um die Synchronisierungsmechanismus zu aktivieren, müssen Sie in den Datenbank-Eigenschaften auf der Seite Web>Konfiguration die Option Erlaube Datenbankzugriff per "4DSYNC" URLs markieren (siehe unten). Sonst funktionieren Anfragen, die 4D SYNC URLs enthalten, nicht. Beim Verwenden der URL 4DSYNC/ müssen Sie folgende Prinzipien berücksichtigen:
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |