0

私は新しいです、私は分散リソースを使用するアプリケーションを開発しています。HTML5のクロスドキュメントメッセージングは​​、XMLHttpRequestに適用される同じ起源のポリシーをどのように克服しますか?

私は、言わせて(生データのみを提供するためのテンプレートやAjaxアプリケーションに関連するすべての機能「プレゼンテーションサーバ」と呼ばれる一つのサーバ(CSS、画像を、JS、...)

2番目のサーバーを持っていますあなたは "GET/resources/a-resource"を送って、 "text/plain、 'abc'"を返す)、実際に私はデバイス上に組み込みのRESTfulインターフェイスを開発しています。

私は最初のサーバーに接続しているテンプレートをダウンロードするクライアントを持っています。次に、ajaxコードは、2番目のサーバーから生データを取得し、テンプレートを使用してユーザーに提示します。

私はここで私が知っているajaxとのクロスドメインの問題があります。私はまた、jqueryやスクリプトタグのようないくつかの現在のソリューションを知っています。

私が実際にここで関心を寄せているのは、HTML5のクロスドキュメントメッセージング機能です。しかし、私が見つけたのは、2つのウィンドウ(ウィンドウ+ Iframeまたはウィンドウ+ウィンドウ)を開いてお互いにメッセージを渡すことだけです。

XMLHttpRequestのように、他の人に "GET"を送信して返されたデータを処理するのは本当に好きではありません。

本当にHTML5のクロスドキュメントメッセージングが私の問題を解決することができます。

**簡単に言えば、私の痛みは、XMLHttpRequestが本当にGETを他のソースに送りましたが、Cross-document-messagingは(私が知る限り)HTML5がCross-document-messagingが可能なら他のドメインにGETを送信する際にXMLHttpRequestとして行うこと

本当にありがとうございます。

答えて

0

しかし、私が見つけたのは、2つのウィンドウ(ウィンドウ+ Iframeまたはウィンドウ+ウィンドウ)を開いてお互いにメッセージを渡すことだけです。

これは正しくありません。ドキュメント内に複数のiframeを置くことができます。各iframeはそれぞれ異なるドメインから来ており、すべてが互いに投稿したり、メッセージを受け取ったりすることができます。したがって、ページを完全に別々のウィンドウに入れる必要はありません。

また、プレゼンテーションとAPIサーバーの両方を制御するため、プレゼンテーションサーバーからのクライアントのみを受け入れるように、APIサーバーのAccess-Control-Allow-Originヘッダーを設定することができます。そうすれば、通常どおりAJAXを使用することができます。

+0

ええ、私はちょうど私のAPIサーバーにGETを送信する方法を知りたいので、私はIFrameに関することはありません、IFrame +クロスドキュメント - メッセージングは​​GETを解決しません。それが私の主張です。 – nhong

+0

また、あなたが言ったように、問題を正しく解決するのはHTML5 +クロスドキュメントメッセージングではありませんか?私の問題を解決することはできませんし、HTML5 +の愚かなクロスドキュメントメッセージングのことを忘れる必要がありますか? – nhong

+0

私はあなたのお勧めを読んで、他のウェブブラウザにも対応できるのであれば、私はさまよっていますか? ChromeやIE、Safariのようなものですか? – nhong

関連する問題