Ограничения запросов ajax при создании api виджета javascript для сторонних сайтов. (например, sharethis, uservoice и т. д.) - PullRequest
0 голосов
/ 13 декабря 2010

Я создаю файл javascript для виджета, который сторонние веб-сайты будут содержать / вставлять (аналогично sharethis, uservoice, google analytics и т. Д.).

Предположим, файл javascript размещен на api.myservice.com / js / foo.js , а сторонний сайт, ссылающийся на него, - example.com , для чего используются все домены / sub-domain может мой javascript выполнять запросы ajax? (кросс-браузерная поддержка тоже)

Файл javascript должен иметь возможность взаимодействовать с php api на widget.myservice.com

Я планирую разместить файл javascript в CDN для ускорения доставки. Какие-либо ограничения, которые будут вызваны этим?

1 Ответ

0 голосов
/ 13 декабря 2010

Если вы не используете некоторые недавно стандартизированные заголовки HTTP для разрешения междоменных запросов, ваш виджет сможет отправлять запросы AJAX только на example.com независимо от того, откуда веб-сайт загружает скрипт.

Есть несколько вариантов, как обойти это.

Вы можете использовать тег <script> вместо запросов AJAX. Просто вы динамически добавляете тег script с элементом src, указывающим на widget.myservice.com/somehting, и он загружает сценарий, который может содержать данные для вашего виджета.

Или вы можете распространять прокси на стороне сервера, который будет делать запросы от example.com до widget.myservice.com и передавать ответ клиенту.

Или вы можете использовать некоторые новые заголовки HTTP для кросс-браузерных запросов, но вы будете ограничены только новейшими браузерами. Google это.

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