Что такое xmlhttp.setRequestHeader ();и в каких ситуациях он используется?
-
29-10-2019 - |
Вопрос
Я наткнулся на эту команду, когда изучал 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, отправленные из формы.