Origin http://xxxxx.comは、Access-Control-Allow-Originによって許可されていません

StackOverflow https://stackoverflow.com/questions/8873771

質問

私はこのようにYahoo Wheather Forcastにリクエストをしようとしています

function parseXml(woeid)
{
 $.ajax({
  type: "GET",
  url: "http://weather.yahooapis.com/forecastrss?w="+woeid,
  dataType: "xml",
  success: parse_wheather
 }); 
} 

そして、次のエラーメッセージが表示されます

XMLHttpRequest cannot load http://weather.yahooapis.com/forecastrss?w=1937103. Origin http://XXXXXXXX.com is not allowed by Access-Control-Allow-Origin.

LocalHostからリクエストを行うことはできないことは知っていますが、LocalHostを実行していません。どうすればこの問題を解決できますか?

役に立ちましたか?

解決

私はlocalhostからリクエストをすることができないことを知っています

実際には、同じためです 起源の政策制限 Cross Domain Ajaxコールを送信することはできません。したがって、あなたは限られているだけではありません localhost. 。あなたは違うものに限定されています http://weather.yahooapis.com. 。したがって、JavaScriptを含むページがこのドメインにホストされていない限り、Ajaxリクエストを送信することはできません。

これがそうです ガイド クロスドメインAjaxコールについて見てみましょう。あなたの場合、サーバーサイドブリッジを使用できます。そのため、リモートドメインの結果を取得するサーバーサイドスクリプトをドメイン上に定義し、同じオリジンポリシー制限に違反しないようにAjaxリクエストをスクリプトに送信できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top