私はJavascript/Dojoの世界全体で徐々に良くなっています。しかし、私はdojo / request/iframeビジネス全体に混乱しています。Javascriptでは、セキュリティ上の理由からオリジンサーバーにのみ接続できることを知っています。それは当然のことです。しかし、人々が「iframeを使ってそれを回避する」ことを考え始めると、私は非常に迷子になります。
Dojo / resources / blank.html:
- 含む
<html><head><script>isLoaded = true;</script></head><body></body></html>
- アプリケーションと同じサーバーでホストする必要があります。したがって、CDNからdojoを使用する場合は、このblank.htmlファイルをアプリケーションの送信元と同じサーバーに保存する必要があります。
http://livedocs.dojotoolkit.org/dojo/request/iframeのページでは、iframeについて次のように説明しています。
呼び出し元ページを発信したサーバー以外のサーバーでサービスを呼び出す(クロスドメイン要求)。この場合、応答本文を読み取ることができないことに注意してください。データを送信することはできますが、応答を取得することはできません。戻りデータにアクセスする必要がある場合は、dojo / request/scriptを参照してください。
フォームからのファイルのアップロード(ファイル入力コントロールなど)。通常のXHRメカニズムは、セキュリティ対策としてファイル選択タグによって参照されるファイルデータにアクセスできません。dojo / request / iframeは、IFrameを介してこれらの呼び出しをプロキシすることにより、非同期でファイルのアップロードを実行できるようにします。
空のHTMLページはこれにどのように役立ちますか?(まあ、グローバル変数「isLoaded」を設定するもの...?)
また、上記の2つのポイントで応答を取得できないことを説明した後、ドキュメントは次のように続きます。
- XMLを取得するように要求する例は、次のようになります。
だから...あなたは検索できますか?
一歩下がって、「iframeを使用してクロスドメインリクエストを回避する」全体を本当に理解する必要があると思います。また、「通常のXHRメカニズム」(どのメカニズム?)がデータ参照にアクセスできないという問題を実際に理解する必要があります。選択タグ(どの選択タグですか?そして、とにかくリクエスト本文のデータではありませんか?)は、iFrameを介してそれらの呼び出しをプロキシできます(つまり、isLoadedを設定する単一の空のファイルですか?!?)
私は非常に混乱しています...そして失われました。誰かが私に少し指示を与えることができますか?
ありがとうございました...
メルク。