2011-08-23 24 views
21

私はchrome->Inspect element->consoleでこのエラーを取得します:XMLHttpRequestを読み込めません。

XMLHttpRequest cannot load. Origin is not allowed by Access-Control-Allow-Origin.

これは解決しましたか?

+0

背景についてはhttp://en.wikipedia.org/wiki/Same_origin_policyをご覧ください。回避策を探している場合は、自分が行っていることの詳細を追加する必要があります。 –

+1

サーバーはクロスオリジン要求を許可していません。背景情報:http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing – sethobrien

+0

[私はあなたを助けることを願って] [1] [クリック] [2] [1] :http://stackoverflow.com/questions/3828982/xmlhttprequest-cannot-load-an-url-with-jquery [2]:http://stackoverflow.com/questions/22230520/no-access-control-リソース要求元ノードに存在する許可元ヘッダは、リソースノードに存在する。 それはアイデア... – Cherryishappy

答えて

17

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

実際に別のドメインにアクセスする必要がある場合は、JsonPを使用してください。ここでは、ブラウザが<script>タグを使用して別のドメインのスクリプトを読み込むことができます。ロードされたスクリプトは、コールバック関数を実行してデータを取得します。しかし、通常のAJAX呼び出しでは、ソースドメインをそのままにすることはできません。

は、私はあなたがこれを読むことをお勧めしますSame Origin Policy

+1

この回答は本当に私を助けました。ありがとうございましたTigraine – okconfused

3

上のWikiの記事を参照してください: それは非常にWELが説明されてhttp://www.fbloggs.com/2010/07/09/how-to-access-cross-domain-data-with-ajax-using-jsonp-jquery-and-php/

...全体のポイントは、あなたがcallback-であなたのJSONを返すために必要があるということですファンクションウェイ

+0

このリンクにデータベースエラーが発生しました。もしあなたが1つあるなら、更新されたリンクを教えてください。 – Ray

5

1つの回避策は、すべてのクロス起点リクエストを第三者経由でルーティングし、Access-Control-Allow-Origin headerに「*」を設定してリクエストが通過するようにします。

+0

面白い...これは速いテストのためにうまくいきました –

+4

うまくいけば、答えをアップしてください。 – Stunner

関連する問題