Получить файл XML с помощью Ajax - PullRequest
1 голос
/ 11 февраля 2010

Когда я пытаюсь получить файл XML (канал RSS) с сайта, я не могу получите это.

Веб-браузеры Internet Explorer и Firefox сообщают мне, что у меня нет авторизации.

Теперь я нахожусь за прокси-сервером, но, возможно, он выдает это сообщение. Может ли это быть что с сайта (моего) я не могу получить другой ресурс другого сайта (домена) по соображениям безопасности?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Если вы пытаетесь получить доступ к XML-файлу в другом домене с помощью XMLHttpRequest, то вы не можете, нарочно ... это проблема безопасности. Тем не менее, обходной путь заключается в использовании прокси-страницы для захвата XML, см. Эти:

http://developer.yahoo.com/javascript/howto-proxy.html

http://ejohn.org/blog/cross-site-xmlhttprequest/

http://ajaxpatterns.org/Cross-Domain_Proxy

1 голос
/ 11 февраля 2010

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

В качестве одного из возможных обходных путей вы можете настроить очень простой обратный прокси mod_proxy , если вы используете Apache). Это позволит вам использовать относительные пути в вашем AJAX-запросе, в то время как HTTP-сервер будет действовать как прокси для любого «удаленного» местоположения.

Основная директива конфигурации для настройки обратного прокси в mod_proxy - это ProxyPass. Обычно вы используете его следующим образом:

ProxyPass   /ajax/stackoverflow/   http://stackoverflow.com/feeds/

В этом случае браузер будет запрашивать /ajax/stackoverflow/tag?tagnames=javascript, но сервер будет обслуживать это, выступая в качестве прокси для http://stackoverflow.com/feeds/tag?tagnames=javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...