Самый быстрый способ загрузить страницу из другого домена - PullRequest
1 голос
/ 16 марта 2012

То, что я хотел бы сделать, просто:

Я хочу асинхронно загрузить страницу .aspx (скажем, www.crossdomain.com/PageToAdd.aspx) на мою фактическую страницу (скажем, www.actualdomain.com/Index.aspx). Обе страницы (и домены) находятся под моим контролем, поэтому я также могу делать любые вещи.

Как я могу это сделать? Что я пробовал:

  1. .load() из jQuery, но он не работает междоменный;
  2. .ajax() из jQuery, с использованием JSONP, но, кажется, это настолько скучно сериализовать весь PageToAdd.aspx в JSON (на самом деле, я не могу поместить весь HTML-код страницы в один узел, потому что размер страницы слишком большой высоко, и оно будет сломано);

Итак, что я могу попытаться сделать?

Обратите внимание! По некоторым причинам мне нужно «избегать» iFrame.

Ответы [ 3 ]

1 голос
/ 16 марта 2012

Вы должны внедрить прокси для размещения в своем домене или использовать iframe.Поскольку вы хотите избежать iframe, вы будете полагаться на прокси;тогда вам нужно будет .load() ваш прокси-сервер, который будет вызывать удаленный URL и возвращать HTML-код этой страницы.

Обратите внимание, что если удаленная страница выполняет некоторые вызовы AJAX для своих собственных веб-служб, эти AJAXвызов будет заблокирован по той же политике происхождения.iframe будет безопаснее и быстрее в реализации.

1 голос
/ 16 марта 2012

Поскольку вы контролируете оба домена, вы можете добавить поддержку CORS к одному из них.Это позволит загружать содержимое через XMLHttpRequest.Вы можете узнать больше о настройке CORS здесь:

http://www.html5rocks.com/en/tutorials/cors/

1 голос
/ 16 марта 2012

вы можете .load ("actualdomain / parseforme.aspx? Url = remotedoomain / please.aspx"); Я думаю? Просто вам нужно написать parseforme.aspx в вашем приложении, которое получает удаленный файл в вашем домене.

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