Избегайте x-domain решений
В настоящее время я работаю над веб-приложением, которое клиенты могут добавлять на свои веб-страницы, добавляя ссылку javascript в файл js на моем сервере. Приложение прочитало все файлы javascript с моего сервера, но я все еще получаю сообщение об ошибке при попытке использовать ajax для получения данных из моей базы данных. Я не думал, что это будет проблемой, потому что файлы на моем сервере.
Могу ли я это исправить или мне нужно сделать кросс-браузерное решение? Я не имею никакого контроля над сервером клиентов.
заранее спасибо
Микаэл
2 ответа
Та же самая политика происхождения основана на главном документе, а не на самом сценарии.
Вам нужно использовать междоменную технику ajax.
Это невозможно: когда вы выполняете удаленный скрипт, он запускается в контексте содержащего документ.
Есть несколько популярных способов решения этой проблемы:
Используя
iframe
, который решает проблему междоменных доменов, но плохо интегрируется с удаленным сайтом (например, не использует индивидуальные стили)Использование JSONP для выполнения междоменных запросов Ajax (подробное объяснение здесь)
Использование серверного прокси-скрипта (не вариант в этом сценарии)
Использование YQL (я не знаком с этим, но он работает)