• ベストアンサー

AJAXを使って、htmlページにスクリプト

AJAXを使って、htmlページにスクリプトを記述して、 再読み込みすることなく表示することはできたのですが、 同じドメイン内に限られてしまいます。 違うドメインにスクリプトを記述した場合には、 エラーとなってしまいます。 AJAXはドメイン超えはできないのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

回答が出てこないので調べたところを奉公します。 JavaScriptには、「同一出身ポリシー」というのがあって、Webコンテンツにアクセスするときに適用されます。 これによりスクリプトはそれを含むと同じ出身のウィンドウやドキュメントのプロパティしか読むことは出来ません。 当然XMLHttpRequestオブジェクトもこの制約を受けます。 XMLHttpRequestオブジェクトがHTTPリクエストを送信できるのは、そのドキュメントをダウンロードしたサーバにのみです。 もっともその回避策として、サーバサイドスクリプトでリクエストを送信することは可能だということです。 また、「同一出身ポリシー」で規定するのは、ドキュメントをロードしたURLのプロトコルとホストとポート番号の組み合わせです。 かなり厳しいものですが、ホストに対する緩和は、Documentオブジェクトのdomainを設定することにより可能です。 以上、少しでもお役に立てれば、 出所は、O'RELLY JavaScript第5版です。

その他の回答 (1)

noname#94983
noname#94983
回答No.1

>AJAXはドメイン超えはできないのでしょうか? その通り。JavaScriptによる非同期通信は、そのページがダウンロードされたサーバに限定されます。

関連するQ&A