Подтвердить что ты не робот

Кросс-начальный заголовок в IE8/IE9

Так как jQuery ajax ist не работает для CORS/IE, я использую XDomainRequest для восстановления данных с другого сервера. Работа прекрасна, но я бы хотел отправить некоторый заголовок ( "Authentification", "content-type" ).

Есть ли возможность добавить/изменить заголовок в XDomainRequest?

Или кто-нибудь знает обходное решение?

4b9b3361

Ответ 1

Это то, что мы сделали для IE.

Если у вас есть контроль над целевым доменом, размещайте там (статический) html файл. Включите html, используя iframe.

Теперь этот iframe действительно имеет доступ к локальному домену, поэтому вы можете связываться между родительским и дочерним фреймами, чтобы получить то, что вам нужно.

Это работало намного лучше, чем XDomainRequest для нас.

window.postMessage - лучший способ настроить связь:

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

В нашем случае это была наша трехслойная система:

  • CORS для браузеров, поддерживающих его.
  • IFrame и window.postMessage как основной резерв
  • Прокси-сервер на стороне сервера script как вторичный резервный

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

Имейте в виду, что заголовок "Аутентификация" специально особенный, и я не был бы шокирован тем, что он заблокирован при определенных обстоятельствах. Мы добавили пользовательский заголовок "X-Authenticate", поскольку он проходил все время.