Избегайте x-domain решений - PullRequest
       35

Избегайте x-domain решений

1 голос
/ 04 ноября 2010

В настоящее время я работаю над веб-приложением, которое клиенты могут добавить на свои веб-страницы, добавив ссылку javascript в файл js на моем сервере. Приложение прочитало все файлы javascript с моего сервера, но я все еще получаю сообщение об ошибке при попытке использовать ajax для получения данных из моей базы данных. Я не думал, что это будет проблемой, потому что файлы находятся на моем сервере.

Могу ли я это исправить или мне нужно сделать кросс-браузерное решение? У меня нет контроля над сервером клиентов.

Заранее спасибо

Микаэл

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Политика с тем же происхождением основана на хост-документе , а не на самом скрипте.

Вам необходимо использовать междоменный метод ajax .

1 голос
/ 04 ноября 2010

Это невозможно: при выполнении удаленного сценария он запускается в контексте содержащего документ.

Для этого есть несколько популярных способов:

  • Использование iframe, которое решает междоменную проблему, но плохо интегрируется с удаленным сайтом (например, без пользовательского стиля)

  • Использование JSONP делать междоменные запросы Ajax (подробное объяснение здесь )

  • Использование прокси-сценария на стороне сервера (в этом сценарии это не вариант)

  • Использование YQL (я не знаком с этим, но он работает)

...