web-dev-qa-db-ja.com

XMLHttpRequestをロードできません。?

私はchrome->Inspect element->consoleこのエラーを取得します。

XMLHttpRequestをロードできません。 OriginはAccess-Control-Allow-Originでは許可されていません。

これは何を解決しましたか?

23
Kate Thompson

XMLHttpRequestを介して他のドメインまたはサブドメインにリクエストを発行することはできません。 www.foo.comからリクエストを発行する場合は、www.foo.comでリクエストをターゲットにし、wwwを除外しないでください。

本当に別のドメインにアクセスする必要がある場合は、ブラウザが<script>タグ機能を使用して別のドメインからスクリプトをロードする JsonP を使用できます。ロードされたスクリプトは、コールバック関数を実行してデータを提供します。ただし、通常のAJAX=呼び出しの場合、ソースドメインを離れることはできません。

Same Origin Policy に関するWiki記事を参照してください

17
Tigraine

回避策の1つは Korz を使用することです。これは、すべてのクロスオリジンリクエストをサードパーティ経由でルーティングし、Access-Control-Allow-Origin headerを「*」に変更して、リクエストが通過するようにします。

5
yonatan

これを読むことをお勧めします: http://www.fbloggs.com/2010/07/09/how-to-access-cross-domain-data-with-ajax-using-jsonp-jquery-and -php /

それは非常に説明されています...全体的なポイントは、コールバック関数の方法でJSONを返す必要があるということです

3
beitomartinez