Обмен данными между веб-сайтами (с использованием Javascript или?)

StackOverflow https://stackoverflow.com/questions/33104

  •  09-06-2019
  •  | 
  •  

Вопрос

Вот моя проблема - я хотел бы обмениваться данными между двумя веб-сайтами, и я ищу чистое решение.Текущее решение использует Javascript, но существуют неприятные обходные пути из-за (понятных) ограничений межсайтового скриптинга.

На данный момент, веб-сайт A открывает модальное окно, содержащее веб-сайт B используя jQuery вызываемый подключаемый модуль jqModal. Веб-сайт B выполняет некоторую работу и возвращает некоторые результаты в веб-сайт A.Чтобы вернуть эту информацию, мы должны обойти ограничения на межсайтовые скрипты - веб-сайт B создает iframe, который ссылается на страницу на веб-сайт A и включает в себя "идентификаторы фрагментов", содержащие информацию, которая должна быть возвращена.iframe опрашивается с помощью веб-сайт A чтобы обнаружить возвращаемую информацию.Это распространенный метод но это халтурно.

Существуют такие вариации, как Перекрестный сайт и, возможно, я мог бы использовать HTTP-сообщение от веб-сайт B Для веб-сайт A но я стараюсь избегать обновления страницы.

У кого-нибудь есть какие-нибудь альтернативы?

Редактировать:Я бы хотел избежать необходимости сохранять состояние на веб-сайт B.

Это было полезно?

Решение

Моим лучшим предложением было бы создать веб-сервис на каждом сайте, который другой мог бы вызывать с информацией, которую необходимо передать.Если необходима безопасность, легко добавить в эту систему схему аутентификации, подобную SSL (или даже фактический SSL, если хотите), чтобы гарантировать, что только два сервера могут взаимодействовать со своими соответствующими веб-службами.

Это позволило бы вам избежать халтуры, присущей любой схеме, при которой один сайт открывает окна на другом.

Другие советы

С jQuery новее версии 1.2 вы можете использовать JSONP

@jmein - вы описали, как создать модальное всплывающее окно (это именно то, что делает jqModal), однако вы упустили, что содержимое модального окна передается из другого домена.Два задействованных домена принадлежат двум отдельным компаниям, поэтому не могут быть объединены так, как вы описываете.

я полагаю, @pat имел в виду это

"Начиная с jQuery 1.2, вы можете загружать данные JSON, расположенные в другом домене, если укажете обратный вызов JSONP ", http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top