У меня есть веб-страница в моем домене (ecmazing.com
), и я хотел бы иметь возможность отправлять запросы AJAX на этот URL:
http://hacheck.tel.fer.hr/xml.pl
Это сценарий Perl, расположенный в другом домене (и он возвращает XML-ответ).
«Политика одного и того же происхождения» не разрешает обмен данными Ajax с веб-страницы в моем домене.
Теперь я слышал о CORS и думаю, что это может решить мою проблему. Если я правильно понял, админ hacheck.tel.fer.hr
домен должен был бы настроить веб-сервер так, чтобы запросы Ajax из моего домена (ecmazing.com
) будет разрешено.
Не могли бы вы рассказать, какие конкретно действия должен будет выполнить админ? Я собираюсь связаться с ним, чтобы рассказать ему все подробности ...
Спецификация CORS находится здесь: http://www.w3.org/TR/cors/
Информация о CORS находится здесь: http://www.w3.org/wiki/CORS_Enabled
Согласно отправленной вами ссылке, он включен по умолчанию и требует изменения только файла .htaccess, предполагая, что это apache:
Чтобы открыть заголовок, вы можете добавить следующую строку внутри <Directory>
, <Location>
, и <Files>
разделов или в файле .htaccess.
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
Я могу сказать, что вам как администратору лучше быть хорошо подготовленным, чтобы обосновать, почему это нельзя сделать в коде, а не на сервере, и почему я должен позволить вам это сделать.
Мы поддерживаем enable-cors.org за ответы на подобные вопросы. Если хотите поделиться новыми рецептами конфигураций, поднимите пелазу вопрос.
Возможно, вы захотите рассмотреть междоменный JSONP. Из Вики: "'JSON с заполнением' - это дополнение к базовому формату данных JSON, шаблон использования, который позволяет странице запрашивать данные с сервера в другом домене. В качестве решения этой проблемы JSONP является альтернативой более недавний метод под названием Cross-Origin Resource Sharing ».
Я без проблем начал использовать это для нескольких удаленных API, это здорово :)