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

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

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

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

Микаэл

2 ответа

Та же самая политика происхождения основана на главном документе, а не на самом сценарии.

Вам нужно использовать междоменную технику ajax.

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

Есть несколько популярных способов решения этой проблемы:

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

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

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

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

Другие вопросы по тегам