перекрестный домен XMLHttprequest

Вот моя ситуация:

У меня есть машина веб-сервера, Клиентская машина и третья машина, запускающая некоторую программу, которая прислушивается к XMLHttpRequests.

Клиент получает доступ к веб-серверу от Клиентской машины, вносит некоторые изменения и затем нажимает on'Save'. На данном этапе данные передают обратно веб-серверу и Третьей машине. Все это делается с помощью объекта JavaScript и XMLHttpRequest.

Сообщение к веб-серверу хорошо работает, однако отправьте на Третью машину, не работает, так как это имело другой IP/домен.

Как я могу сделать эту работу? Клиентская машина-> Третья машина не работает, потому что на другой машине домена Webserver-> Третья машина не работает из-за проблем брандмауэра

Любые идеи значительно ценятся!

5
задан hippietrail 11 March 2012 в 11:38
поделиться

3 ответа

Вы сталкиваетесь с Политикой одинакового происхождения , а не с проблемами брандмауэра.

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

Два сайта, совместно использующие общий домен верхнего уровня домен может выбрать связь, несмотря на неудачная проверка "того же хоста" взаимно устанавливая свои соответствующие document.domain DOM свойство в такой же уточненный, правый фрагмент их текущее имя хоста.

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

3
ответ дан 14 December 2019 в 01:01
поделиться

Другой вариант (который, по общему признанию, немного техничный) - использовать YQL , если данные не являются конфиденциальными. Вы можете использовать YQL & JSON-P , чтобы также получать данные из других доменов.

1
ответ дан 14 December 2019 в 01:01
поделиться

Вы также можете использовать хак iframe . Iframe, размещенный во втором домене, может отображаться на странице, размещенной в первом домене, и объект окна для iframe будет доступен из контекста родительской страницы.

2
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: