Ajax кросс-субдоменные запросы? - PullRequest
8 голосов
/ 05 ноября 2010

Есть ли способ сделать Ajax-запрос на

s3-ap-southeast-1.s3.amazonaws.com (для S3 API)

из

s3.amazonaws.com

(откуда размещено приложение JavaScript)?

Ответы [ 7 ]

3 голосов
/ 27 марта 2011

да, вы можете выполнять кросс-доменные вызовы ajax, проверить совместное использование ресурсов между источниками: http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

3 голосов
/ 05 ноября 2010

Вы не можете выполнять междоменные запросы AJAX.Это включает в себя поддоменов.Однако можно использовать JSONP .

1 голос
/ 14 мая 2012

Я знаю, что это старый пост, я предоставил подробный пример междоменного запроса ajax с использованием JSONP, надеюсь, он поможет тем, кто в беде:

http://www.shanison.com/2012/05/11/cross-domain-ajax-request/

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

Запросы между доменами ajax запрещены протоколом.И да, субдомены тоже.

Читайте здесь: http://www.ajax -cross-domain.com / Это может помочь;

0 голосов
/ 20 января 2015

Полагаю, я нашел ссылку, которую опубликовал @Patrick, и она сломалась

http://hoppeweb.blogspot.com/2008/03/cross-sub-domain-javascript-ajax-iframe.html

, чтобы избежать повторения этого, я просто попытаюсь опубликовать ее заново)

Идея заключается в создании HTML-кода iframe на одном домене и последующем вызове этого iframe со страницы на другом поддомене.Как родительская страница, так и элемент iframe внутри нее должны иметь одинаковые значения document.domain.

document.domain = "example.com"

, после того как эти две страницы действуют так, как будто они находятся в одном домене.

остальные, простоскопировать ((

Например, для добавления текста, настройте страницу на www.yourdomain.com и установите для document.domain yourdomain.com. Если вы пытаетесь добавить htmlстраница с использованием Ajax с img.yourdomain.com, настройте страницу, которая станет iframe для выполнения ajax pull. После завершения этого pull установите document.domain в yourdomain.com. На своей странице на www. создайте iframeдля которого src установлен на вашу страницу на img. Так как document.domain установлен, любые функции на родительской странице доступны для вызова через iframe. Допустим, вы хотите поместить ваш недавно «ajaxed» html в div народительскую страницу, вы можете сделать это через "parent.getElementById ('yourDivName'). innerHTML = Response.Text".

Если вы извлекаете XML, вы можете настроить отношение page / iframe так же, как указано выше. TЕсли iframe выполнит ajax-вызов XML на img.yourdomain.com и что-то с ним сделает, допустим, превратит его в массив.Как только это будет завершено, установите document.domain на странице iframe.На этом этапе родительская страница может получить доступ к этому массиву в своем iframe через "iframeName.arrayName".В качестве альтернативы вы можете получить массив для чтения этой информации на родительской странице и передать его родителю из iframe через "parent.arrayName = iframeArray".

, первоначально @Tom Hoppe

0 голосов
/ 25 марта 2011

Бесстыдная вилка, но это может помочь: http://alexn.org/blog/2011/03/24/cross-domain-requests.html

0 голосов
/ 10 марта 2011

Shazmo сказал это в предыдущем посте:

Кросс-домен совсем другой предмет. Но перекрестный поддомен относительно легко.

Больше информации здесь: http://www.tomhoppe.com/index.php/2008/03/cross-sub-domain-javascript-ajax-iframe-etc/

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