Опубликовано автор в категориях Верстальщику.


Ни для кого не секрет, что существенным минусом выполнения асинхронных запросов в JavaScript является то, что нельзя выполнять такого рода запросы между разными доменами. Говоря простым языком AJAX функции доступны по умолчанию только в пределах одного домена. Сделано это не просто так, а по соображениям безопасности. Отчасти согласен, но как же приходится ругаться нецензурной бранью, когда приходится динамически обновлять данные с помощью JavaScript между разными серверами!

Но теперь все стало куда проще. Вернее сказать, раньше тоже было подобное решение, но это приходилось делать всегда под нужды и если не сильно знаком с серверным программированием, то попотеть надо было обстоятельно. Но теперь каждый желающий с минимальными знаниями серверных технологий и с помощью любой библиотеки JavaScrip сможет создать асинхронные запросы между разными доменами. Сделать это можно благодаря небольшому PHP proxy — Simple PHP Proxy. Скрипт разработан Беном Альманом, и доступен для скачивания под GPL и MIT лицензиями. По сути это php-скрипт, который позволяет с помощью JavaScript получить доступ к HTML, XML или JSON данным на удаленной странице. Он позволяет обходить ограничения безопасности в кросс-доменных запросах даже если данные не представлены в JSONP формате.

С помощью Simple PHP Proxy, сервер может действовать как посредник между вашим JavaScript и удаленными данными, тем самым устраняя любые проблемы с кросс-доменными запросами. Он просто принимает запрос и перенаправляет его на удаленный сервер, и возвращает результат. Вы можете использовать любую библиотеку JavaScript или создавать XMLHttpRequest объекты вручную.

Особенности

  • Запрашиваемые URL-адреса могут быть вполне валидными в отличии от регулярных выражений
  • При желании можно передавать клиентские Cookies/SID удаленному серверу
  • Опциональная настройка перенаправления User Agent на удаленный сервер
  • Запросы могут использовать как GET так и POST методы
  • Удаленные данные могут быть доставлены как есть со всеми удаленными заголовками (по умолчанию отключено для предотвращения XSS уязвимостей)
  • Удаленные данные могут быть обернуты в JSON/P структуру, которая включает в себя коды статуса и удаленные заголовки (JSON/P отключен по умолчанию, чтобы ограничить злоупотребления (ржу…))

P.S.
А постовых сегодня нет! Желающих приобрести постовые или место под баннеры милости просим на страницу РекламаКомплектные трансформаторные подстанции Новороссийск

Один Ответ к записи “AJAX без границ”

  1. Artem

    ИМХО если надо что-то из другого домена вытащить, то лучше это уже делать на сервере, а скрипту уже возвращать обработанный результат, а так придется жабой парсить

    Ответить

Оставить комментарий

  • (не будет показан)