2

こんな風にヤフー天気予報にリクエストを出そうとしています

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 を実行していません。この問題を解決するにはどうすればよいですか??

4

1 に答える 1

2

localhostからリクエストできないことはわかっています

実際には、同一オリジン ポリシーの制限により、クロス ドメイン AJAX 呼び出しを送信できません。だからあなただけに限定されていませんlocalhost。以外のものに制限されています http://weather.yahooapis.com。したがって、JavaScript を含むページがこのドメインでホストされていない限り、AJAX リクエストを送信することはできません。

これは、クロスドメインAJAX呼び出しに関するガイドです。あなたの場合、サーバー側のブリッジを使用できます。そのため、リモート ドメインの結果を取得するサーバー サイド スクリプトをドメインで定義し、AJAX 要求をスクリプトに送信して、同じオリジン ポリシーの制限に違反しないようにすることができます。

于 2012-01-15T22:09:02.640 に答える