ポスティング: Web ページからサーバーへ

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  埋め込まれた Web ページソリューション > Web ページとサーバー間の通信 >

ポスティング: Web ページからサーバーへ

(Web ページに埋め込まれた IFrame を使用して)   Web ページからサーバーへ送信されるメッセージは「埋め込まれたメッセージ」と呼ばれます:

 

1.Web ページから IFrame へ埋め込まれたメッセージを送信するために JavaScript が使用されます。埋め込まれたメッセージは、postMessage() メソッドの最初のパラメーターである JSON オブジェクトとして送信されます。
2.埋め込まれたメッセージが IFrame に到達すると、ソリューションはメッセージを JSON 文字列にシリアル化し、 MobileTogether Server 上のワークフローのソリューションにこの文字列を送信します。 このステップは自動的に実行され、プロセスを指定する必要はありません。
3.ワークフロー内では、埋め込まれたメッセージは 埋め込まれたメッセージ イベントによりピックアップすることができます。 アクションがこのイベントのために指定されていると、 $MT_EMBEDDEDMESSAGE JSON ページソースは自動的に作成されます。必要に応じて追加アクションを定義することができます。

 

このセクションではステップ 1 の postMessage() メソッドについて説明されています。JSONXML データをプロセス全体のための詳細をポストしている HTML Web ページ サンプルを参照してください。ステップ 2 は自動的に実行され、説明を必要としません。ステップ 3 は JSONXML サンプル内で詳しく説明されています。 詳細に関しては、 埋め込まれたメッセージ イベントを参照してください。

 

postMessage メソッドについて

次の主要な点について注意してください:

 

埋め込まれたメッセージは postMessage() の最初のパラメーター としてパスされます。
埋め込まれたメッセージは JSON オブジェクトとしてパスされます。
メッセージ内のデータは、構成されたクローンアルゴリズムを使用してシリアル化されます。 これは、メッセージがデータオブジェクトの範囲を含むことができることを意味します。 シリアル化は自動的に行われます。しかしながら、全てのデータ型が MobileTogether Server に送信されるとは限りません。

 

例えば、JSON フォーマットでデータが送信される場合、postMessage() メソッドは変更すること無しに JSON データ構造を送信することができます。 JSON オブジェクトが myJSONData という名前の変数に割り当てられると、このデータ構造は postMessage() メソッドを使用して以下のように送信することができます:

 

function sendMyMessage() {

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

         }

 

このサンプルでは、 JSON データ構造が IFrame により受け取られます。IFrame 内のソリューションは、データをワークフローに JSON 文字列として送信します。 ワークフロー内では、 データ 埋め込まれたメッセージ ページイベントによりピックアップされることができ、 $MT_EMBEDDEDMESSAGE JSON ページソース内に保管されます。

 

postMessage() に関する詳細は、Mozilla Developer Network ドキュメント を参照してください。 JSONXML サンプルも参照してください。

 


(C) 2019 Altova GmbH