2012-01-04 6 views
0

クロスドメインAJAXがその背後にある仕組みに関して何を意味するのかを明確にしたいと思います。クロスドメインAJAXの明確化?

たとえば、私にはウェブサイトhttp://www.example.comがあります。このウェブサイトには、javascriptファイルが含まれています。このファイルには、標準のjQueryベースのAJAXコール($.post()$.get()など)が含まれており、http://www.example.com/js/script.jsにあります。

今、別のウェブサイトhttp://www.helloworld.comがあります。

<script type="text/javascript" src="http://www.example.com/js/script.js"></script>

http://www.example.comに要求を行うhttp://www.example.com/js/script.js内のAJAX要求は、「クロスドメイン」とみなされ、したがって、ファイルがhttp://www.internet.comに含まれている場合、互換性の問題を運ぶのだろうか?

すべての回答は素晴らしいでしょう。

答えて

3

JSはクライアント側で実行されるため、ファイルのソースがどこにあるかは関係ありません。アドレスバーのドメインから実行されます。

+0

わかりました。これは少しOTですが、質問の一部ではありませんが、わかっていることから、AJAXリクエストはHTTP GET/POSTベースのリクエストという形で別のドメインに作成できますが、返されるデータはJSONP形式でなければなりません? – Avicinnian

+0

それはそれより少し複雑です。リモートのjsonpコールバックの名前と一致するリクエストURLにコールバックを追加する必要もあります。 http://en.wikipedia.org/wiki/JSONP – AlienWebguy

1

別のドメインのjavascriptを含めるには、JSがサービスを提供するサーバーがファイルに正しいヘッダーを提供する必要があります。 特に、ヘッダーは、クロスドメインJSを必要とするドメインに対してAccess-Control-Allow-Originを設定する必要があります。

テスト目的のために、--allow-file-from-filesパラメータを使用してChromeを実行すると、クロスオリジン要求を停止しません。