как на самом деле обмен документами в HTML5 преодолевает политику того же происхождения, которая применяется к XMLHttpRequest? - PullRequest
0 голосов
/ 24 июня 2011

Я новичок, я разрабатываю приложение, которое использует распределенный ресурс.

У меня есть один сервер под названием «сервер презентаций», который обслуживает все, что связано с шаблоном и приложением ajax (css, images, js, ...)

Второй сервер только для обслуживания необработанных данных (скажем, когда вы отправляете «GET / resources / a-resource», он возвращает «text / plain, 'abc'»), фактически я разрабатываю встроенный интерфейс RESTful на устройстве.

У меня есть клиент, который подключается к первому серверу, загружает шаблон. Затем код ajax получает необработанные данные со второго сервера и представляет их пользователю с помощью шаблона.

У меня междоменная проблема с ajax, которую я знаю. Я также знаю некоторые текущие решения, такие как тег jquery или скрипт.

Что меня действительно волнует, так это возможность обмена сообщениями между документами в HTML5. Но я обнаружил, что они открывают два окна (окно + Iframe или окно + окно) и передают сообщение друг другу.

это не совсем то, что посылает «GET» другому и обрабатывает возвращенные данные, как это делал XMLHttpRequest.

Пожалуйста, покажите мне, как на самом деле обмен документами в HTML5 может решить мою проблему.

** Короче говоря, моя боль здесь в том, что XMLHttpRequest действительно отправил GET в другой источник, но обмен сообщениями между документами этого не делает (насколько я знаю), я бродю, если HTML5 с обменом сообщениями между документами способен делать как XMLHttpRequest при отправке GET в другой домен или нет

Я действительно благодарю вас за это.

1 Ответ

0 голосов
/ 24 июня 2011

Но я обнаружил, что они открывают два окна (окно + Iframe или окно + окно) и передают сообщение друг другу.

Это не так.В документе может быть несколько элементов iframe, каждый из которых принадлежит другому домену, и все они могут публиковать и получать сообщения друг от друга.Таким образом, вам не нужно иметь страницы в совершенно разных окнах.

Кроме того, поскольку вы управляете как сервером презентаций, так и сервером API, вы можете просто установить заголовок Access-Control-Allow-Origin в APIСервер принимает только клиентов, поступающих с вашего сервера презентаций.Это позволит вам использовать AJAX как обычно.

...