междоменный ajax в чужой домен с чистым JS и HTML - PullRequest
1 голос
/ 02 ноября 2011

Прежде всего - я прочитал подростки ТАК подобных вопросов и другие страницы / блоги, где гуглил.

Было много способов заставить междоменную связь работать, но есть ли что-то, что позволяет мне это делать, когда я не могу изменить страницу (например, http://www.imdbapi.com/?t=True%20Grit&y=1969), которую я хочу вызвать?

Могу ли я использовать postMessage solution (этот метод выглядел лучше всего для меня) без ЛЮБОЙ модификации в http://www.imdbapi.com/?t=True%20Grit&y=1969? Похоже, у него нет вспомогательной страницы (один из методов).

Я не хочу использовать какую-либо стороннюю библиотеку / скрипт php / etc - просто чистый html и javascript - можно ли назвать такую ​​«неизменную» страницу? ... и разобрать его на своей странице (простого iframe недостаточно)

Пожалуйста, помогите - мои огромные исследования не оставят меня ни с чем

Ответы [ 2 ]

0 голосов
/ 02 ноября 2011

хорошо, вот в чем дело. то, что это сделало, запросило данные из того же домена запросы между поддоменами и поддоменами не являются «одним и тем же доменом», просто чтобы прояснить ситуацию. Поскольку эта страница была «тем же доменом», это было возможно без помощника.

AJAX не разрешает междоменные запросы. насколько я знаю, есть методы, которые разрешают междоменные запросы (например, вспомогательные страницы)

В настоящее время jQP поддерживается jsonp, и вы можете сделать это следующим образом:

http://api.jquery.com/jQuery.getJSON/

ищите на странице: «Загружает четыре самых последних изображения кошек из API-интерфейса Flickr JSONP.»

или см. Ссылку:

http://en.wikipedia.org/wiki/JSONP

0 голосов
/ 02 ноября 2011

Теоретически вам понадобится прокси-фрейм iframe с тем же доменом, где находится страница ajax.

  1. postMessage с родительской страницы на страницу iframe.
  2. А затем ajax из iframe.

Если у вас нет доступа к исходному коду родительской страницы, вы можете внедрить свой скрипт через букмарклет или около того.Инъекция также может включать в себя jquery и плагин postMessage вместе с вашим скриптом, который создает iframe.

Я использую этот плагин postMessage, и он работает на последних версиях IE / FF / Chrome / Safari с HTML5.В нем утверждается, что у старых браузеров есть запасной вариант URL #ing, но я еще не тестировал.

http://benalman.com/projects/jquery-postmessage-plugin/

...