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

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

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

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

Знаю что есть специальные библиотеки для jquery для асинхронной загрузки файлов, но все же решился написать статью на эту тему. В методе про который сейчас расскажу будет использован только чистый javascript. Сама же загрузка файла будет происходить через iframe.
Вам понадобится сама html страница на который должна быть такая форма 

<form id="my_form" method="post" action="" enctype="multipart/form-data" onsubmit="file_send()">
	<input type="file" name="file" />;
	<input type="submit" value="отправить"/>
</form>

Далее рассмотрим работу js скрипта выполняющего всю работу по ajax загрузке файла  читать далее »