AJAX запрос на удаленный домен

Всем доброго дня.

Как и многие здесь, сижу сейчас пишу систему на php.

Мне понадобилось получить данные с другого домена. У них в веб интерфейсе я подсмотрел ajax запрос:

$.ajax({
          url: '/lenta/get_last_opened_organization',
          success: function( data ){
            $("#last_viewed").html(data)
          }
      });

Взял его и вставил себе с ссылкой на их домен, получилось так:

$.ajax({
              url: 'http://domen/lenta/get_last_opened_organization',
              success: function( data ){
                $("#last_viewed").html(data)
              }
          });

При выполнении запроса браузер сообщил мне:

XMLHttpRequest cannot load http://domen/lenta/get_last_opened_organization. Origin http://my-domen.ru is not allowed by Access-Control-Allow-Origin.

Я точно не понимаю почему но в доступе отказано. Вопрос в том как притвориться что делаешь запрос с их домена..

p.s. В документации jQquery AJAX нашел следующее:

Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, or protocol.

Означает ли это проблема нерешаема?!

4 ответа

Доступ на другие домены запрещен в целях безопасности. Чтобы получить ответ с другого домена, этот самый домен должен быть настроен для этого заранее. Почитайте это Обмен данными между доменами и это JSONP


Это называется политика безопасности, нечего шастать по чужим сайтам.


Сделайте на своем сервере php-скрипт, пусть ajax обращается к вашему скрипту, а скрипт по средством curl обратиться к тому сайта, получив результат, передаст уже вашему сайту.


Если не ошибаюсь, то нужно изменить текущий домен на нужный, document.domain='', вроде так, редактора под рукой нету.

licensed under cc by-sa 3.0 with attribution.