XHR2では、スクリプトが配置されているドメイン以外のサイトにもアクセスすることができます。
これは「
CROSS ORIGIN RESOURCE SHARING(
CORS)」と呼ばれるもので、これを利用すれば外部からJavaScriptで直接必要なデータを受け取れます。
ただし! どんなサイトからも自由に取り出せる、というわけではありません。あるサーバーが、別のサーバーから
CORSによるアクセスを許可するためには、そのページのヘッダーに以下のものを追加する必要があります。
Access-Control-Allow-Origin: 《許可するドメイン》
これだけです。JavaScript側では、特に設定などはありません。
openする際、アクセス先のアドレスに利用するドメインのアドレスを書くだけです。
XHR2自体の使い方は普通のAjax通信と全く同じです。
CORSの設定は、お使いのサーバーなどの環境によって、設定は違ってきます。それぞれの環境に応じて設定などを行なってください。またサーバー側で何らかの言語を用いているならば、サーバーサイドプログラムでヘッダーを出力させることで対応できます。以下に主なものをまとめておきましょう。
・Apache HTTP Server.htaccessの中に以下の一文を追加しします。どこからでもアクセスできるように公開するなら、ドメインの値にワイルドカード(*)を指定すればOKです。
Header append Access-Control-Allow-Origin: 《ドメイン》
・Javaの場合response.addHeader("Access-Control-Allow-Origin", "《ドメイン》");
・Pythonの場合self.response.headers.add_header("Access-Control-Allow-Origin", "《ドメイン》")
・PHPの場合header("Access-Control-Allow-Origin: 《ドメイン》");
・Rails(Ruby)の場合headers['Access-Control-Allow-Origin'] = '《ドメイン》'
・ASP .netの場合Response.AppendHeader("Access-Control-Allow-Origin", "《ドメイン》");