Кросдоменная передача данных

11/16/2012, автор admin, категории Web-разработка

Некоторое время назад написал статью Межсайтовая авторизация – JSONP
Как вы помните объект JavaScript XmlHttpRequest, который реализует AJAX, не поддерживает кроссдоменные запросы по соображениям безопасности. Но иногда очень нужно через JS запросить какую-нибудь страничку или данные с другого сайта (например для автоматичексой регистрации и авторизации). В той статье мы рассматривали пример кросдоменной передачи данных с помощью тега script (то есть с помощью JSONP). Это довольно хороший способ, но существуют еще несколько способов передачи данных с одного сайта на другой.
Для решения этой задачи необходимо как минимум, чтобы вы как разработчик имели доступ к файлам на обоих серверах (с которого идет запрос и тот, где нужный файл), так как отдаваемые с удаленного сервера файлы должны быть в особом (для каждого отдельного решения) формате.

1) использование скриптов как прокси
Самы простой вариант — использовать собственный сервер как прокси. То есть вы из своего js-приложения обращаетесь к скриптам на этом же сервере и указываете ему адрес и формат возвращаемой информации (JSON, XML, HTML).
читать далее »