Заставить JQuery отправлять POST-запрос вместо OPTIONS при вызове в другой домен - PullRequest
0 голосов
/ 27 января 2012

Мне нужно сделать ajax POST-запрос (json) к другому домену (позже все будет в том же домене, но я тестирую в localhost и пока не имею доступа к серверу).

Примечание. В настоящее время невозможно внести изменения в код сервера.

Я нашел несколько решений этой проблемы:

jsonp: Не работает

CORSПлагин для Firefox (чтобы разрешить использование разных доменов): будет работать, если я отправлю запрос POST, но JQuery сам делает первый запрос OPTIONS (потому что он, вероятно, обнаруживает разные домены).И здесь у меня есть проблема, потому что сервер нуждается в аутентификации (для всего, включая OPTIONS).

Я отправляю аутентификацию в заголовке запроса POST, но JQuery не включает это в заголовокЗапрос OPTIONS, и так как это делается "в фоновом режиме", я не могу добавить его.

На самом деле может быть 2 решения:

  1. Добавить заголовок аутентификации вОПЦИИ запрос.Но, как уже упоминалось, я не отправляю этот запрос сам, поэтому я не знаю, где и как это сделать.

  2. Заставить JQuery не делать этот запрос OPTIONS, а отправлять POST напрямую(который является названием этой темы).Я искал некоторое время, но ничего не нашел.Это возможно?

Я использую JQuery 1.7.1 и $ .ajax ({...}) для выполнения запроса.

Заранее спасибо.

1 Ответ

1 голос
/ 27 января 2012

Это сложный вопрос.Я предлагаю сделать следующее.

Сделать ajax-соединение файлом в том же домене.Выполните cURL-соединение с файлом, расположенным в другом месте.

Отправьте пост-информацию и добавьте также заголовки аутентификации.

Здесь вы можете увидеть последнюю часть: http://php.bigresource.com/CURL-and-HTTP-Authentication--p8WkKqkq.html

Простое прибегание к помощи "завитков заголовков поста" должно помочь вам в этой части.

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