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

Добавление пользовательских заголовков HTTP с использованием JavaScript

На странице HTML при нажатии ссылки на теги Image ( "img" ) или anchor ( "a" ) я хотел бы добавить пользовательские заголовки для запроса GET. Эти ссылки обычно загружают динамический контент. Эти заголовки могут быть заголовками SAML или специальными заголовками специальных приложений.

Можно ли добавить эти пользовательские заголовки через JavaScript? Или, если я добавлю их через XMLHttpRequest, как я могу достичь загрузки?

Это требование выполняется только для IE6 или 7.

4b9b3361

Ответ 1

Если вы используете XHR, тогда setRequestHeader должен работать, например.

xhr.setRequestHeader('custom-header', 'value');

P.S. Вы должны использовать Hijax, чтобы изменить поведение ваших якорей, чтобы он работал, если по какой-то причине AJAX не работая для ваших клиентов (например, busted script в другом месте на странице).

Ответ 2

Я думаю, что самый простой способ добиться этого - использовать querystring вместо HTTP-заголовков.

Ответ 3

Единственный способ добавить заголовки в запрос изнутри браузера - использовать метод setRequestHeader XmlHttpRequest.

Использование этого с запросом "GET" будет загружать ресурс. Трюк тогда - это доступ к ресурсу по назначению. Якобы вы должны иметь возможность разрешить кешируемость в течение короткого периода времени, поэтому переход на новый URL-адрес или создание тега IMG с URL-адресом src должен использовать кешированный ответ из предыдущего "GET". Однако это, скорее всего, потерпит неудачу, особенно в IE, который может быть немного закон для себя, в котором используется кеш.

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

Другая необычная альтернатива - использовать XHR, чтобы сделать запрос к URL-адресу, который указывает на ваше намерение получить доступ к ресурсу. Он может отвечать cookie сеанса, который будет передаваться последующим запросом на изображение или ссылку.

Ответ 4

Как уже говорилось, самым простым способом является использование запроса.

Но если вы не можете, из соображений безопасности, вам следует рассмотреть возможность использования файлов cookie.