4D v14.3URLs und Form Actions |
||
|
4D v14.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 bietet eine weitere Möglichkeit, wenn Sie “gepostete” Formulare verwenden wollen. Das sind statische HTML-Seiten, die Daten an den Web Server senden. Sie müssen vom Typ POST sein, die Formularaktion muss zwingend mit /4DACTION/MethodName starten. Hinweis: Ein Formular lässt sich über zwei Methoden übertragen, beide sind mit 4D verwendbar:
Der Web Server ruft, wenn er ein "gepostetes" Formular erhält, die Projektmethode COMPILER_WEB auf, dann die Datenbankmethode On Web Authentication. Gibt sie Wahr zurück, wird die Methode MethodName ausgeführt. 4D analysiert die im Formular vorhandenen HTML Felder, findet erneut ihre Werte und füllt die 4D Variablen automatisch mit deren Inhalt. Das Feld im Formular und die 4D Variable müssen beide denselben Namen haben. Sie können auch den Befehl WEB GET VARIABLES verwenden, der Namen und Werte alle Felder wiederfindet, die in einer an den Server übertragenen HTML Seite enthalten sind. Hinweis: 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 auf den Wert der Variablen mit demselben Namen. Für Optionen im Formular, z.B. Kontrollkästchen, setzt 4D die zugeordnete Variable auf 1, wenn es gewählt wurde, sonst auf 0 (Null). Hinweis: Hat ein Feld im Formular den Namen OK (z.B. die Schaltfläche Senden), wird die Systemvariable OK auf 1 gesetzt, wenn der Wert des Feldes nicht leer ist, sonst auf 0 (Null). In einer gestarteten 4D Web Datenbank soll der Browser Datensätze über eine statische HTML Seite suchen können. Diese Seite lautet “Suche.htm”. Die Datenbank enthält weitere statische Seiten, über welche Sie z.B. das Suchergebnis anzeigen können (“Ergebnis.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> <!-- Normalerweise setzen wir den Namen der Schaltfläche in VALUE, aus Interpretationsgründen müssen Sie in VALUE eine Zahl setzen--> <INPUT TYPE=CHECKBOX NAME=EXACT VALUE="1">Whole word<BR> <!-- OK ist ein besonderer Fall--> <INPUT TYPE=SUBMIT NAME=OK VALUE="Suche"> </FORM> Tippen Sie zur Dateneingabe im Dateneingabebereich “ABCD” ein, prüfen Sie die Option und bestätigen Sie, indem Sie auf die Schaltfläche Suchen klicken. 4D ruft dann die Projektmethode COMPILER_WEB auf: Im Beispiel enthält vNAME den String “ABCD”, vEXACT ist gleich 1 und OK ist gleich 1 (da der Name der Schaltfläche OK ist). If(OK=1) Syntax: 4DCGI/<action> Modus: Beide 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 zu jeder 4D Methode, die über URLs aufgerufen wird, einen Textparameter. 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:
|
EIGENSCHAFTEN
Produkt: 4D SIEHE AUCH
4D Objekte mit HTML Objekten verbinden ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v14 R2) Geerbt von : URLs und Form Actions ( 4D v12.4) |