2013-12-11 3 views
2

Можно ли избежать ограничения запроса на перекрестный домен AJAX, если JS-файл с $ .getJSON загружен с того же сервера (домена) в качестве URL-адреса в запросе AJAX? Предположим, у меня есть веб-сервис на сервере server.com, который нужно вызывать со страниц на нескольких других доменах, например. subdomain.serverA.com, serverB.com т.д. JS помещают на serverA.com и включены на нескольких страниц на разных доменах с абсолютным URL:Избежание ограничений перекрестного домена AJAX

<script src="http://serverA.com/ajax.js" /> 

в то время как страница URL-ет, например, http://serverB.com/page.html

В таком случае $.getJSON('http://serverA.com/service/',... избежит ограничений перекрестного домена или нет?

Другими словами, браузеры просматривают URL-адрес страницы или исходный URL JS при оценке политики одного происхождения для запросов AJAX?

+0

Я думаю, вы спрашиваете: «Могу ли я обойти ограничения кросс-домена?». В этом случае ответ «да», с JSONP - http://stackoverflow.com/questions/5943630/basic-example-of-using-ajax-with-jsonp –

+0

вы даже попытались выполнить поиск в Интернете? я искал в google свой заголовок вопроса, а второй результат был следующим: http://stackoverflow.com/questions/11299438/jquery-how-to-remove-cross-domain-limitation – giammin

ответ

1

Другими словами, браузеры просматривают URL-адрес страницы или исходный URL-адрес JS при оценке политики одного происхождения для запросов AJAX?

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

Можно ли избежать ограничения запроса на перекрестный домен AJAX, если JS-файл с $ .getJSON загружен с того же сервера (домена) в качестве URL-адреса в запросе AJAX?

Yes, но не потому, что файл JS загружается оттуда. URL-адрес скрипта не имеет значения.

2

Похоже, вы спрашиваете: «Могу ли я обойти ограничения кросс-домена javascript?»

Ответ "да", с помощью JSONP

Там очень много хорошей информации здесь:

Если это не вопрос, который вы задаете, тогда вы можете чтобы прояснить это немного.

+0

@Quentin прибил мои сомнения. Спасибо за ссылку на хорошие ресурсы, прокси-решение, кажется, проще всего реализовать в моей среде. – Michlis

1

Вместо JSONP я бы порекомендовал Cross Origin Resource Sharing.

Владелец услуги просто должен добавить заголовок, который дает (статический, динамический или открытый) список авторизованных источников.

Смежные вопросы