Что такое xmlhttp.setRequestHeader ();и в каких ситуациях он используется?

StackOverflow https://stackoverflow.com/questions/8882627

Вопрос

Я наткнулся на эту команду, когда изучал AJAX.Парень, создавший руководство, не объяснил эту команду, что означают параметры внутри команды и для чего она используется ... Ниже приведен код, в котором я ее использовал:

родовое слово
Это было полезно?

Решение

HTTP - это протокол.Частью этого протокола является концепция заголовков запросов.Когда происходит xhr, между клиентом и сервером происходит обмен текстом.Заголовки запроса - это часть текста, который клиент отправляет на сервер.

Это способ установить заголовки запроса.Вы видите аргументы

1) устанавливаемый заголовок (в данном случае Content-type )
2) значение заголовка.(в данном случае x-www-form-urlencoded )

См. здесь для получения дополнительной информации.

Другие советы

Это именно то, что написано.Он установит "заголовок" для следующего генерируемого кода тега.

Заголовок - это в значительной степени пара ключ / значение.Он используется для передачи «мета» информации на целевой сервер для текущего запроса.В вашем конкретном случае он используется, чтобы сообщить серверу, какой тип контента используется для этого запроса.

HTTP-запросы - это сообщения, передаваемые от одной компьютерной системы к другой в соответствии с установленной процедурой («протокол» - здесь H yper T ext T ransfer P rotocol) для выполнения таких действий, как отправка данных, запрос на отправку данных, обновление ранее отправленных данных и т. д.

Заголовок - это, по сути, часть информации о данных в теле HTTP-запроса. Его цель - сообщить машине, получающей запрос, какой тип данных заключен в теле запроса, его форматирование, используемый язык, если он устанавливает cookie, дату, хост-машину и т. Д.

В HTTP-запрос может быть помещено несколько заголовков, и каждый заголовок имеет компонент «имя» и «значение». На веб-страницах они выглядят как

родовое слово

и вы найдете их чуть ниже верхней части веб-страницы внутри элемента.

Чтобы люди могли отправлять HTTP-запросы из функции JavaScript, мы создаем новый объект XMLHttpRequest, как и ваш код с помощью

родовое слово

К этому новому пустому объекту вы собираетесь добавить данные. Несмотря на свое название, XMLHttpRequest также позволяет отправлять данные в ряде форматов, отличных от XML, например Код HTML, текст, JSON и т. Д. В вашем примере каждое имя данных будет отделено от своего значения знаком «=», а каждая пара данных / значения будет отделена от следующей пары знаком «&». Такой вид форматирования известен как кодирование URL.

Мы должны сообщить принимающему компьютеру, как кодируются данные в теле HTTP-запроса. Для передачи этого существует стандартный заголовок , который добавляется в запрос с помощью метода setRequestHeader (..) . Этот метод использует 2 параметра, имя заголовка и значение заголовка. Вся эта операция выполняется в строке

родовое слово

Этот метод setRequestHeader (..) должен применяться к запросу после , когда запрос характеризуется тегом open (...) , но до последнего запроса отправляется с помощью метода send (.) .

Метод open (...) определяет: (1) тип HTTP-запроса, например GET / POST / PUT и т. Д .; (2) веб-страница, содержащая сценарий обработки этого запроса, например некоторый файл .php или .js, который делает соответствующий запрос к серверной базе данных; и (3) характер динамики запроса, например асинхронным запросам присваивается значение «истина», синхронным запросам присваивается значение «ложь».

Метод send (.) прикрепляет данные, которые должны быть отправлены, в теле запроса, в вашем случае переменная с именем 'parameters'.

Что касается вашего более широкого вопроса о том, какие ситуации используется setRequestHeader (..) , я бы сказал, что он используется в большинстве ситуаций с HTTP-запросами. Но некоторые типы данных добавлены в тело HTTP-запроса вызывают настройку по умолчанию для заголовка Content-Type.

Он устанавливает заголовок HTTP-файла Content-Type, чтобы содержать данные кодировки URL, отправленные из формы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top