Как я могу обойти ту же политику происхождения? - PullRequest
1 голос
/ 27 ноября 2009

Мне нужно использовать AJAX для получения содержимого другой страницы, расположенной на сервере, отличном от того, с которого загружен AJAX. AJAX должен отправить запрос POST, а затем вернуть результат. как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 27 ноября 2009

Настройка прокси на вашем собственном сервере. Пусть ваш сервер позвонит им и вернет результат.

2 голосов
/ 27 ноября 2009

если вы управляете обоими серверами, вы можете использовать одно из полей заголовка HTTP для совместного использования ресурсов из разных источников :

http://www.petefreitag.com/item/703.cfm

https://developer.mozilla.org/En/HTTP_access_control

1 голос
/ 27 ноября 2009

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

0 голосов
/ 27 ноября 2009

Если вы хотите сделать это на клиенте и в кросс-браузерном режиме, вам понадобится помощь с другого сервера.

Либо:

1) использование JSONP (добавить тег скрипта с помощью функции обратного вызова)
Только GET звонки возможны.
Безопасность - это проблема, поскольку у скрипта есть доступ ко всем ресурсам на этой странице (данные, файлы cookie, ...).
Вот пост, в котором объясняется, как помещать в «песочницу» их и сохранять данные в страница безопасна.

2) POST выглядит возможным, используя технику Криса Зипа window.name

Если сотрудничество с другим сервером невозможно, прокси-сервер, как описано в других ответах, является, насколько мне известно, единственным оставленным вариантом.

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