Вызов функции JavaScript с удаленного сервера - PullRequest
0 голосов
/ 22 марта 2011

Я попытался вызвать функцию JavaScript на каком-либо сервере (server1) с другого сервера (server2), и я получил эту ошибку:

Небезопасная попытка JavaScript для доступа к фрейму с URL https://server1/ из фрейма с URL https://server2/. Домены, протоколы и порты должны совпадать.

Я использовал JSP, Java, JavaScript и tomcat7, есть ли способ решить эту проблему? любая помощь будет оценена.

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Да, необходимо добавить правило перекрестного происхождения в заголовок вашего файла javascript, которое разрешает доступ с вашего другого сервера.

В противном случае ваш браузер не позволит вам сделать это.

Вы можете посмотреть ответ на этот вопрос: Ошибка XmlHttpRequest: нулевой источник не разрешен Access-Control-Allow-Origin

Он должен сказать вам, как это сделать.

0 голосов
/ 22 марта 2011

Как описано, на вас распространяется та же политика происхождения, которая предназначена для защиты пользователей.У Google хорошая статья: http://code.google.com/p/browsersec/wiki/Part2.

Существует несколько типичных подходов к решению этой проблемы:

  1. jquery имеет функцию типа getJson или jsonp.У большинства других JS-библиотек есть нечто подобное.Они используют динамический тег Script, подходящий для запросов GET из других доменов.
  2. Создайте сервлет на домене 1, который проксирует к домену 2 - разрешает неограниченные методы HTTP и использование XmlHTTPRequest.

Iеще не пробовал http://easyxdm.net/wp/

В ближайшее время появятся улучшения, например обмен сообщениями между документами в HTML5

0 голосов
/ 22 марта 2011

Взгляните на easyXDM - он предоставляет функцию RPC, позволяющую вам вызывать методы в рамках Одинаковой политики происхождения .

Взгляните на одну из демонстраций здесь

...