www.Litecode.ru – Сборник рецептов для создания сайтов

Кроссдоменный ajax

ГлавнаяJavaScript → Кроссдоменный ajax

Проблема:

Ajax очень удобен для точечных заросов, но только если они, эти запросы на свой домен. Если же речь идет о внешнем домене — то не во всех браузерах сработает, в IE точно. Это не возможно по соображением безопасности. Например в IE 8, POST-запрос осуществляется, но почему-то js-консоль ругается все равно. Например, необходимость кроссдоменных ajax-ов, может возникнуть при сборе статистики с помощью js-обработчиков.

Решение:

Долго рылся в инете. Много решений, мне понравилось одно — через iframe. К сожалению не помню имя автора, но решение сохранилось. Вариант представляет собой мирный XSS. Если в двух словах — создается невидимый iframe с которого делается post-запрос. Для использования нужно загрузить скрипт cross_domen_ajax.

Пример:

<script src="http://your-domen/lib/cross_domen_ajax.js"></script>
<script>
    CROSS.XSS.post("http://your-domen/","string=anydata")
</script>