В обход политики AJAX Same-Origin - особый случай - PullRequest
0 голосов
/ 20 декабря 2010

Когда я пытался динамически обновлять содержимое страницы с помощью Ajax / JQuery, я узнал о проблеме и ограничениях S-O-P, однако мне было интересно, можно ли найти способ решить мою маленькую проблему.

Чтобы было легче понять, я сначала объясню рабочий процесс.

Я получаю веб-страницы по электронной почте, то есть по электронной почте в формате HTML. Веб-страницы содержат HTML-формы таким образом, когда форма заполнена, она отправляется на соответствующий веб-сервер (php) для хранения данных.

В основном я использую Outlook 2007 в качестве почтового клиента (здесь я ничего не говорю, я знаю !!!), но из-за некоторых ограничений безопасности IFRAMES отключаются при «открытии» электронной почты. Я обошел эту проблему с помощью сценария VBA, который копирует все содержимое страницы, сохраняет его в файловой системе как отдельную веб-страницу и загружает в браузер (Firefox).

Как только страница загружена в браузер, в адресной строке отображается локальный URL / URL-адрес файловой системы, например

file:///C:/Users/Bob/Desktop/outlookpage.htm

До сих пор нет проблем, работает нормально; теперь проблема:

Я хотел бы динамически обновлять содержимое страницы с помощью Ajax, используя jQuery.load, однако вот где SOP входит. Страница PHP, загружаемая для динамического обновления веб-страницы, рассматривается как работающая на другом домене, поэтому блокируется.

Мне было интересно, как обойти это.

1 Ответ

1 голос
/ 20 декабря 2010

Это не сработает, потому что для обхода одной и той же политики происхождения вам нужно будет использовать прокси-сервер в том же домене, который затем будет связываться со страницей, обрабатывающей данные в другом домене.Невозможно сгенерировать прокси-скрипт на компьютере другого пользователя (или, по крайней мере, НЕ ДОЛЖЕН БЫТЬ ПУТЬ).Я бы либо просто разместил форму, которая откроет браузер пользователя по умолчанию, либо предоставил бы ссылку на онлайн-форму в электронном письме.Ссылка должна быть предоставлена ​​в любом случае, если их почтовый клиент не поддерживает электронную почту в формате HTML.

...