Senden: Von der Webseite an die Lösung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Eingebettete Webseiten-Lösungen > Kommunikation zwischen Webseite und Server >

Senden: Von der Webseite an die Lösung

Eine Nachricht, die von einer Webseite (über einen in diese Webseite eingebetteten IFrame) an den Server gesendet wird, wird als eingebettete Nachricht bezeichnet. Der Sendevorgang verläuft in den folgenden Schritten:

 

1.Die eingebettete Nachricht wird mittels JavaScript von der Webseite an den IFrame gesendet. Die eingebettete Nachricht wird als JSON-Objekt, das den ersten Parameter der postMessage()-Methode bildet, gesendet.
2.Wenn die eingebettete Nachricht beim IFrame einlangt, serialisiert die Lösung die Nachricht in einen JSON-String und sendet diesen String an den Workflow der Lösung auf MobileTogether Server. Dieser Schritt erfolgt automatisch, Sie müssen keine Verarbeitung dafür definieren.
3.Im Workflow kann die eingebettete Nachricht über das Ereignis BeiEingebtteterNachricht aufgenommen werden. Wenn für dieses Ereignis eine Aktion definiert ist, wird die $MT_EMBEDDEDMESSAGE-JSON-Seitenquelle automatisch erstellt. Sie können je nach Wunsch zusätzliche Aktionen definieren.

 

In diesem Abschnitt wird die postMessage()-Methode von Schritt 1 erläutert. Eine ausführliche Beschreibung dazu finden Sie in den HTML-Webseiten-Beispielen, in denen JSON- bzw. XML-Daten gesendet werden. Schritt 2 wird automatisch durchgeführt und muss daher nicht näher erläutert werden. Eine ausführliche Beschreibung zu Schritt 3 finden Sie im JSON- und XML-Beispiel. Nähere Informationen finden Sie außerdem unter der Beschreibung zum BeiEingebetteterNachricht-Ereignis.

 

Informationen zur postMessage-Methode

Beachten Sie die folgenden wichtigen Punkte:

 

Die eingebettete Nachricht wird als erster Parameter von postMessage() übergeben.
Die eingebettete Nachricht wird als JSON-Objekt übergeben.
Die Daten in der Nachricht werden mit Hilfe des Structured Clone-Algorithmus serialisiert, d.h. die Nachricht kann beliebige Datenobjekte aus einem Bereich von Datenobjekten enthalten; die Serialisierung erfolgt automatisch. Beachten Sie jedoch, dass nicht alle Datentypen an MobileTogether Server gesendet werden können.

 

Wenn die zu sendenden Daten z.B. im JSON-Format sind, kann die JSON-Datenstruktur mit Hilfe der postMessage()-Methode ohne jede Änderung gesendet werden. Wenn daher eine JSON-Struktur z.B. einer Variablen namens myJSONData zugewiesen ist, könnte diese Struktur folgendermaßen mit der postMessage()-Methode gesendet werden:

 

function sendMyMessage() {

         document.querySelector('iframe').contentWindow.postMessage(myJSONData, '*');

         }

 

In diesem Beispiel wird die JSON-Datenstruktur vom IFrame empfangen. Die Lösung im IFrame sendet die Daten als JSON-String an den Workflow. Die Daten können im Workflow durch das Seitenereignis BeiEingebetteterNachricht aufgenommen und in der $MT_EMBEDDEDMESSAGE-JSON-Seitenquelle gespeichert werden.

 

Nähere Informationen zur postMessage()-Methode finden Sie in der Mozilla Developer Network-Dokumentation. Siehe auch JSON- und XML-Beispiel.

 

 

 


© 2019 Altova GmbH