- ベストアンサー
AJAXを使って、htmlページにスクリプト
AJAXを使って、htmlページにスクリプトを記述して、 再読み込みすることなく表示することはできたのですが、 同じドメイン内に限られてしまいます。 違うドメインにスクリプトを記述した場合には、 エラーとなってしまいます。 AJAXはドメイン超えはできないのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答が出てこないので調べたところを奉公します。 JavaScriptには、「同一出身ポリシー」というのがあって、Webコンテンツにアクセスするときに適用されます。 これによりスクリプトはそれを含むと同じ出身のウィンドウやドキュメントのプロパティしか読むことは出来ません。 当然XMLHttpRequestオブジェクトもこの制約を受けます。 XMLHttpRequestオブジェクトがHTTPリクエストを送信できるのは、そのドキュメントをダウンロードしたサーバにのみです。 もっともその回避策として、サーバサイドスクリプトでリクエストを送信することは可能だということです。 また、「同一出身ポリシー」で規定するのは、ドキュメントをロードしたURLのプロトコルとホストとポート番号の組み合わせです。 かなり厳しいものですが、ホストに対する緩和は、Documentオブジェクトのdomainを設定することにより可能です。 以上、少しでもお役に立てれば、 出所は、O'RELLY JavaScript第5版です。
その他の回答 (1)
noname#94983
回答No.1
>AJAXはドメイン超えはできないのでしょうか? その通り。JavaScriptによる非同期通信は、そのページがダウンロードされたサーバに限定されます。