Как загрузить файл XML в другой домен, чем наша [междоменная проблема] - PullRequest
1 голос
/ 16 апреля 2010

У меня есть файл XML на моем сервере, и мои партнеры должны получить к нему доступ через код JavaScript, который я кодирую.

Он отлично работает на локальном , но как только я это сделаю:

xmlDoc.async=false;
xmlDoc.load("/export/export.xml");

до

xmlDoc.load("http://www.something.com/export/export.xml");

Перестал работать. Я знаю, что это поможет избежать атаки XSS, но в моем случае нет смысла разрабатывать этот JS-скрипт, если они не могут получить доступ к моему XML-файлу.

Итак, как обойти такое ограничение?

Ответы [ 4 ]

3 голосов
/ 16 апреля 2010

Предоставьте свои данные в формате JSON-P вместо.

1 голос
/ 16 апреля 2010

Я использую прокси в своем домене для получения информации. Это может быть любой серверный скрипт, который отправляет и получает информацию с удаленного сервера - таким образом, все запросы направляются на мою прокси-страницу локального сервера.

1 голос
/ 16 апреля 2010

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

Другим вариантом было бы, чтобы партнеры запустили на своем сервере сценарий на стороне сервера, который может извлечь файл XML, а затем передать его клиенту, чтобы он «выглядел» как размещенный на их сервере.

Нет способа обойти это на стороне клиента; если бы это было так, это, в первую очередь, победило бы цель его ограничения.

0 голосов
/ 16 апреля 2010

Вот несколько способов решения проблемы SOP (Политика одинакового происхождения) здесь . Пост о jQuery, но понятия те же:

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