Происхождение http://XXXXX.com не разрешено Access-Control-Allow-Origin - PullRequest
2 голосов
/ 16 января 2012

Я пытаюсь сделать запрос на прогноз погоды Yahoo, как это

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 Как я могу решить эту проблему ??

1 Ответ

2 голосов
/ 16 января 2012

Я знаю, что не могу сделать запрос от localhost

На самом деле, из-за того же ограничения политики происхождения вы не можете отправлять междоменные вызовы AJAX. Таким образом, вы не ограничены только localhost. Вы ограничены чем-либо отличным от http://weather.yahooapis.com. Поэтому, если страница, содержащая ваш javascript, не размещена в этом домене, вы не можете отправлять запросы AJAX на нее.

Вот руководство , на которое вы можете взглянуть о междоменных вызовах AJAX. В вашем случае вы можете использовать серверный мост. Таким образом, вы определите серверный сценарий на своем домене, который будет извлекать результаты удаленного домена, а затем вы можете отправить запрос AJAX на ваш сценарий, чтобы избежать нарушения того же ограничения политики источника.

...