Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как обойте ограничение на cross domain ajax requests? (https://javascript.ru/forum/events/8259-kak-obojjte-ogranichenie-na-cross-domain-ajax-requests.html)

Rjukan 17.03.2010 11:45

Как обойте ограничение на cross domain ajax requests?
 
Пишу тулзу для броузерной игрушки. Надо передать данные из нее на мой сайт. (никаких private policy violations:) )

У нее есть механизм добавления скриптов на ее страницы. Хочу добавить свой скрипт, которые соберет с текущей страницы данные и отправит их мне. Если в коде скрипта вызывается метод send AjaxRequest то браузер выдает ошибку NS_ERROR_FAILURE. Т.е я не могу послать реквест сайты, отличному от текущего. Как это обойти? Есть стандартные методы?

Сам придумал такой подход - делаем новое окно с моим сайтом - window.open('mysite.ru'), а внутре него будет скрипт, который обратится к документу исходного окна (window.opener.document). Оттуда я возьму все что надо и отправлю реквестом себе на сервер. Прокатит такой метод?

Kolyaj 17.03.2010 12:00

Цитата:

Сообщение от Rjukan
Прокатит такой метод?

Нет, по тем же причинам.

Отправляйте данные get-запросом.

Rjukan 17.03.2010 12:11

Цитата:

Сообщение от Kolyaj (Сообщение 47980)
Нет, по тем же причинам.

Отправляйте данные get-запросом.

спасибо за ответ! т.е не смотря на то что location у нового окна будет моим сайтом, все равно запретят? Т.е браузер все это отслеживает?

Проблема еще в том что данных много, т.е они могут не влезть в get запрос. Вообщем задача передать много данных на мой сервер. Как это можно сделать?

Gvozd 17.03.2010 12:15

создайте динамически POST-форму, завязанную на iframe, и отправляйте ее

Kolyaj 17.03.2010 12:17

Вы не сможете получить доступ к окну, в котором открыта страница с другого домена.

Если задача передать много данных без получения ответа, то создавайте динамически невидимую форму с методом post и отправляйте её в невидимый же iframe.

Rjukan 17.03.2010 12:34

Пожалуйста поясните - где создать форму и где взять iframe? И что делать если ответ все таки нужен?

Gvozd 17.03.2010 12:51

http://javascript.ru/ajax/cross-domain-scripting

Rjukan 17.03.2010 13:06

:thanks:


Часовой пояс GMT +3, время: 23:14.