0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Синхронный запрос</a><ul><li><a>Особенности синхронного запроса</a></li>
1
<ul><li><a>Синхронный запрос</a><ul><li><a>Особенности синхронного запроса</a></li>
2
</ul></li>
2
</ul></li>
3
<li><a>Асинхронная работа</a><ul><li><a>Особенности асинхронных "команд"</a></li>
3
<li><a>Асинхронная работа</a><ul><li><a>Особенности асинхронных "команд"</a></li>
4
</ul></li>
4
</ul></li>
5
<li><a>AJAX - это…</a></li>
5
<li><a>AJAX - это…</a></li>
6
<li><a>Объект XHR</a></li>
6
<li><a>Объект XHR</a></li>
7
<li><a>Что можно сделать при помощи XHR</a></li>
7
<li><a>Что можно сделать при помощи XHR</a></li>
8
<li><a>Как получить данные</a><ul><li><a>Обработка ответа</a></li>
8
<li><a>Как получить данные</a><ul><li><a>Обработка ответа</a></li>
9
</ul></li>
9
</ul></li>
10
<li><a>Отправка данных</a></li>
10
<li><a>Отправка данных</a></li>
11
<li><a>Методы abort, send и open</a></li>
11
<li><a>Методы abort, send и open</a></li>
12
</ul><p>JavaScript - распространенный язык программирования. Он используется преимущественно для создания сайтов, а также веб-сервисов. Обладает простым и понятным синтаксисом, а также разнообразными инструментами и библиотеками.</p>
12
</ul><p>JavaScript - распространенный язык программирования. Он используется преимущественно для создания сайтов, а также веб-сервисов. Обладает простым и понятным синтаксисом, а также разнообразными инструментами и библиотеками.</p>
13
<p>Веб-разработку трудно представить без синхронных и асинхронных запросов. Далее предстоит изучить их более подробно. Особое внимание необходимо уделить такому объекту как XHR. Он позволит разрабатывать веб-сайты максимально эффективно. Данный объект имеет множество особенностей. Представленная ниже информация поможет увидеть разницу в синхронных и асинхронных "командах". Она также позволит понять, что собой представляет XHR и пояснить основные методы работы с соответствующим объектом.</p>
13
<p>Веб-разработку трудно представить без синхронных и асинхронных запросов. Далее предстоит изучить их более подробно. Особое внимание необходимо уделить такому объекту как XHR. Он позволит разрабатывать веб-сайты максимально эффективно. Данный объект имеет множество особенностей. Представленная ниже информация поможет увидеть разницу в синхронных и асинхронных "командах". Она также позволит понять, что собой представляет XHR и пояснить основные методы работы с соответствующим объектом.</p>
14
<h2>Синхронный запрос</h2>
14
<h2>Синхронный запрос</h2>
15
<p>Работа в Интернете базируется на обработке разнообразных запросов - как от клиентской стороны, так и от серверной. При получении запроса от на сервер ведется их обработка системой с последующим выводом результатов (ответов) клиенту. Соответствующие "команды" могут работать несколькими способами: синхронно и асинхронно.</p>
15
<p>Работа в Интернете базируется на обработке разнообразных запросов - как от клиентской стороны, так и от серверной. При получении запроса от на сервер ведется их обработка системой с последующим выводом результатов (ответов) клиенту. Соответствующие "команды" могут работать несколькими способами: синхронно и асинхронно.</p>
16
<p>Синхронный запрос является наиболее распространенным. Он может называться обычным для веб-приложений и страниц в Интернете. Он работает по следующей схеме:</p>
16
<p>Синхронный запрос является наиболее распространенным. Он может называться обычным для веб-приложений и страниц в Интернете. Он работает по следующей схеме:</p>
17
<ol><li>Человек заполняет на сайте форму обратной связи. Он нажимает на кнопку, отвечающую за отправку соответствующей анкеты на сервер.</li>
17
<ol><li>Человек заполняет на сайте форму обратной связи. Он нажимает на кнопку, отвечающую за отправку соответствующей анкеты на сервер.</li>
18
<li>Браузер определяет нажатие на кнопку "Отправить" и понимает, что этот управляющий элемент должен отправить запрос на серверную сторону. Он пакует "команду", а затем отправляет ее на сервер.</li>
18
<li>Браузер определяет нажатие на кнопку "Отправить" и понимает, что этот управляющий элемент должен отправить запрос на серверную сторону. Он пакует "команду", а затем отправляет ее на сервер.</li>
19
<li>Сервер получает запрос и обрабатывает его. Результатом станет новая веб-страница. Он направляется браузеру.</li>
19
<li>Сервер получает запрос и обрабатывает его. Результатом станет новая веб-страница. Он направляется браузеру.</li>
20
<li>Интернет-обозреватель получает ответ с серверной стороны, а затем загружает веб-страницу с нуля. </li>
20
<li>Интернет-обозреватель получает ответ с серверной стороны, а затем загружает веб-страницу с нуля. </li>
21
</ol><p>Синхронность здесь заключается в том, что все данные будут отправляться на сторону сервера массово. Страница, возвращаемая клиенту, тоже обновляется полностью.</p>
21
</ol><p>Синхронность здесь заключается в том, что все данные будут отправляться на сторону сервера массово. Страница, возвращаемая клиенту, тоже обновляется полностью.</p>
22
<p>Соответствующий принцип наблюдается при работе форм обратной связи: пользователь нажимает на кнопку, а браузер для демонстрации новых данных начинает грузить новую страницу. Синхронный запрос - всего лишь один из способов работы запросов в клиент-серверной модели.</p>
22
<p>Соответствующий принцип наблюдается при работе форм обратной связи: пользователь нажимает на кнопку, а браузер для демонстрации новых данных начинает грузить новую страницу. Синхронный запрос - всего лишь один из способов работы запросов в клиент-серверной модели.</p>
23
<h3>Особенности синхронного запроса</h3>
23
<h3>Особенности синхронного запроса</h3>
24
<p>О синхронных запросах необходимо запомнить следующее:</p>
24
<p>О синхронных запросах необходимо запомнить следующее:</p>
25
<ul><li>подавляющая часть любого программного кода на JavaScript является синхронной;</li>
25
<ul><li>подавляющая часть любого программного кода на JavaScript является синхронной;</li>
26
<li>выполнение синхронного кода осуществляется строчка за строчкой;</li>
26
<li>выполнение синхронного кода осуществляется строчка за строчкой;</li>
27
<li>каждая строка кода будет ждать, пока завершится выполнение предыдущей строки;</li>
27
<li>каждая строка кода будет ждать, пока завершится выполнение предыдущей строки;</li>
28
<li>длительные операции блокируют реализацию приложения/запроса.</li>
28
<li>длительные операции блокируют реализацию приложения/запроса.</li>
29
</ul><p>Несмотря на распространение данного принципа работы запросов, существует еще один вариант их функционирования. Для этого AJAX использует специальный объект - XHR (XMLHttpRequest). Далее он будет рассмотрен более подробно, как и еще один способ обработки запросов в клиент-серверных моделях.</p>
29
</ul><p>Несмотря на распространение данного принципа работы запросов, существует еще один вариант их функционирования. Для этого AJAX использует специальный объект - XHR (XMLHttpRequest). Далее он будет рассмотрен более подробно, как и еще один способ обработки запросов в клиент-серверных моделях.</p>
30
<h2>Асинхронная работа</h2>
30
<h2>Асинхронная работа</h2>
31
<p>Второй вариант работы AJAX-requests - асинхронно. Они не загружают новую информацию с новой страницей полностью. Вместо этого после отправки той или иной команды на серверную сторону обновится только часть данных - недостающий информационный блок. Он будет добавлен на уже открытую страницу, после чего выведен на экран пользователю. Сайт при использовании асинхронных AJAX-запросов не перезагружается.</p>
31
<p>Второй вариант работы AJAX-requests - асинхронно. Они не загружают новую информацию с новой страницей полностью. Вместо этого после отправки той или иной команды на серверную сторону обновится только часть данных - недостающий информационный блок. Он будет добавлен на уже открытую страницу, после чего выведен на экран пользователю. Сайт при использовании асинхронных AJAX-запросов не перезагружается.</p>
32
<p>Чтобы лучше понимать принцип их функционирования, рекомендуется рассмотреть наглядный пример работы соответствующего типа "команд":</p>
32
<p>Чтобы лучше понимать принцип их функционирования, рекомендуется рассмотреть наглядный пример работы соответствующего типа "команд":</p>
33
<ol><li>Пользователь заполняет электронную форму обратной связи. Он нажимает на кнопку "Отправить", чтобы сформировать запрос.</li>
33
<ol><li>Пользователь заполняет электронную форму обратной связи. Он нажимает на кнопку "Отправить", чтобы сформировать запрос.</li>
34
<li>Браузерная сторона запускает специальный скрипт. Он заранее привязывается разработчиком к кнопке.</li>
34
<li>Браузерная сторона запускает специальный скрипт. Он заранее привязывается разработчиком к кнопке.</li>
35
<li>Скрипт отправляет запрос на сторону сервера. Ответом будет новый блок информации. Страница, открытая у пользователя в браузере, перезагружаться не станет. Все операции происходят в пределах заданного скрипта.</li>
35
<li>Скрипт отправляет запрос на сторону сервера. Ответом будет новый блок информации. Страница, открытая у пользователя в браузере, перезагружаться не станет. Все операции происходят в пределах заданного скрипта.</li>
36
<li>Скрипт просмотрит ответ от сервера и внедрит новую информацию в старую страницу в Интернете.</li>
36
<li>Скрипт просмотрит ответ от сервера и внедрит новую информацию в старую страницу в Интернете.</li>
37
</ol><p>На сайте при использовании XHR появляются лишь обновленные данные. Сама страница обновлению не подлежит.</p>
37
</ol><p>На сайте при использовании XHR появляются лишь обновленные данные. Сама страница обновлению не подлежит.</p>
38
<p>Асинхронные "команды" используются повсеместно. К ним можно отнести: добавление новой продукции в Интернет-магазин, показ статуса заказа в службе доставки в режиме реального времени, сворачивание видео в небольшой плеер в углу веб-сайта, получение списка новых сообщений в онлайн-чате без его непосредственного обновления.</p>
38
<p>Асинхронные "команды" используются повсеместно. К ним можно отнести: добавление новой продукции в Интернет-магазин, показ статуса заказа в службе доставки в режиме реального времени, сворачивание видео в небольшой плеер в углу веб-сайта, получение списка новых сообщений в онлайн-чате без его непосредственного обновления.</p>
39
<h3>Особенности асинхронных "команд"</h3>
39
<h3>Особенности асинхронных "команд"</h3>
40
<p>При изучении XHR request необходимо помнить следующее:</p>
40
<p>При изучении XHR request необходимо помнить следующее:</p>
41
<ul><li>асинхронно - это значит "не одновременно";</li>
41
<ul><li>асинхронно - это значит "не одновременно";</li>
42
<li>асинхронный код будет запускаться только после того как выполняемая в "фоновом режиме" задача подойдет к концу (завершится);</li>
42
<li>асинхронный код будет запускаться только после того как выполняемая в "фоновом режиме" задача подойдет к концу (завершится);</li>
43
<li>асинхронный код - это неблокирующий код;</li>
43
<li>асинхронный код - это неблокирующий код;</li>
44
<li>поток выполнения не будет ждать завершения асинхронной операции;</li>
44
<li>поток выполнения не будет ждать завершения асинхронной операции;</li>
45
<li>callback-функции не делают исходный код асинхронным.</li>
45
<li>callback-функции не делают исходный код асинхронным.</li>
46
</ul><p>Асинхронная обработка "команд" дает возможность избежать задержки в процессе работы веб-портала. Пользователям не придется ожидать ответа от серверной стороны. Они смогут продолжать выполнение различных действий в пределах имеющейся веб-страницы.</p>
46
</ul><p>Асинхронная обработка "команд" дает возможность избежать задержки в процессе работы веб-портала. Пользователям не придется ожидать ответа от серверной стороны. Они смогут продолжать выполнение различных действий в пределах имеющейся веб-страницы.</p>
47
<p>Запрошенная информация обрабатывается в фоновом режиме. Ответ от серверной части системы обновляет страницу после поступления соответствующих данных. При задержке ответа пользователи даже не заметят этого: они будут взаимодействовать с другой частью страницы.</p>
47
<p>Запрошенная информация обрабатывается в фоновом режиме. Ответ от серверной части системы обновляет страницу после поступления соответствующих данных. При задержке ответа пользователи даже не заметят этого: они будут взаимодействовать с другой частью страницы.</p>
48
<h2>AJAX - это…</h2>
48
<h2>AJAX - это…</h2>
49
<p>При изучении XHR необходимо пользоваться AJAX-запросами (Asynchronous JavaScript and XML). Так называется подход к реализации интерактивных пользовательских интерфейсов веб-программ. Он включает в себя клиентский скрипт, который запускается в браузере и обменивается информацией с веб-сервером.</p>
49
<p>При изучении XHR необходимо пользоваться AJAX-запросами (Asynchronous JavaScript and XML). Так называется подход к реализации интерактивных пользовательских интерфейсов веб-программ. Он включает в себя клиентский скрипт, который запускается в браузере и обменивается информацией с веб-сервером.</p>
50
<p>AJAX - это технология отправки запросов. Она встречается в большинстве современных приложений. AJAX-приложение может использовать XML для отправки данных. Он также предусматривает работу с JSON и простым текстом.</p>
50
<p>AJAX - это технология отправки запросов. Она встречается в большинстве современных приложений. AJAX-приложение может использовать XML для отправки данных. Он также предусматривает работу с JSON и простым текстом.</p>
51
<p>Чаще всего браузер при работе с соответствующей технологией использует объект XMLHttpRequest (XHR). Он отвечает за асинхронную отправку и получение информации на веб-сервер и с него в фоновом режиме. Страница, с которой взаимодействует пользователь, не блокируется. На работу с клиентской стороны также не оказывается никакого воздействия.</p>
51
<p>Чаще всего браузер при работе с соответствующей технологией использует объект XMLHttpRequest (XHR). Он отвечает за асинхронную отправку и получение информации на веб-сервер и с него в фоновом режиме. Страница, с которой взаимодействует пользователь, не блокируется. На работу с клиентской стороны также не оказывается никакого воздействия.</p>
52
<p>XMLHttpRequest (XHR) - это способ, которым веб-страница способна запрашивать данные с сервера без перезагрузки. С его помощью получается сделать сайты быстрыми и умными. Отправка и получение информации осуществляется без создания помех тому, что уже отображается на экране.</p>
52
<p>XMLHttpRequest (XHR) - это способ, которым веб-страница способна запрашивать данные с сервера без перезагрузки. С его помощью получается сделать сайты быстрыми и умными. Отправка и получение информации осуществляется без создания помех тому, что уже отображается на экране.</p>
53
<p>Соответствующий инструмент способен решить одну большую проблему при работе в Интернете - он делает сайт креативным и живым. Пользователям на странице с XHR не придется все время ждать, пока загрузится страница. Эта особенность имеет высокий уровень значимости тогда, когда необходимо обновить только часть сайта, а не весь его целиком.</p>
53
<p>Соответствующий инструмент способен решить одну большую проблему при работе в Интернете - он делает сайт креативным и живым. Пользователям на странице с XHR не придется все время ждать, пока загрузится страница. Эта особенность имеет высокий уровень значимости тогда, когда необходимо обновить только часть сайта, а не весь его целиком.</p>
54
<p>XHR - инструмент, делающий разработку более простой и эффективной. С его помощью получится создать веб-порталы, которые быстро реагируют на пользовательские действия. Он был изобретен корпорацией Microsoft в начале 90-х годов.</p>
54
<p>XHR - инструмент, делающий разработку более простой и эффективной. С его помощью получится создать веб-порталы, которые быстро реагируют на пользовательские действия. Он был изобретен корпорацией Microsoft в начале 90-х годов.</p>
55
<p>XHR, несмотря на слово XML в названии рассматриваемого объекта, способен работать с любыми данными текстового формата, включая бинарные. Далее этот инструмент разработки будет рассмотрен более подробно.</p>
55
<p>XHR, несмотря на слово XML в названии рассматриваемого объекта, способен работать с любыми данными текстового формата, включая бинарные. Далее этот инструмент разработки будет рассмотрен более подробно.</p>
56
<h2>Что можно сделать при помощи XHR</h2>
56
<h2>Что можно сделать при помощи XHR</h2>
57
<p>Все современные Интернет-обозреватели поддерживают наличие встроенного объекта XHR. Он используется для запроса информации с серверной стороны. С XHR можно выполнять разнообразные операции:</p>
57
<p>Все современные Интернет-обозреватели поддерживают наличие встроенного объекта XHR. Он используется для запроса информации с серверной стороны. С XHR можно выполнять разнообразные операции:</p>
58
<ul><li>обновлять веб-страницы, не перезагружая их полностью;</li>
58
<ul><li>обновлять веб-страницы, не перезагружая их полностью;</li>
59
<li>запрашивать данные с сервера после загрузки веб-портала;</li>
59
<li>запрашивать данные с сервера после загрузки веб-портала;</li>
60
<li>получать информацию от сервера - тоже после загрузки соответствующей страницы;</li>
60
<li>получать информацию от сервера - тоже после загрузки соответствующей страницы;</li>
61
<li>отправлять данные на сервер в фоновом режиме.</li>
61
<li>отправлять данные на сервер в фоновом режиме.</li>
62
</ul><p>Использовать XHR-запросы не очень трудно. Далее предстоит познакомиться с ними на наглядных примерах. Они помогут быстрее разобраться в реализациях асинхронных "команд" в клиент-серверных моделях.</p>
62
</ul><p>Использовать XHR-запросы не очень трудно. Далее предстоит познакомиться с ними на наглядных примерах. Они помогут быстрее разобраться в реализациях асинхронных "команд" в клиент-серверных моделях.</p>
63
<h2>Как получить данные</h2>
63
<h2>Как получить данные</h2>
64
<p>Первая операция, с которой предстоит познакомиться - это получение данных. Для этого необходимо создать новый XHR-объект. Делается это через экземпляр XMLHttpRequest. Его синтаксическая форма выглядит так:</p>
64
<p>Первая операция, с которой предстоит познакомиться - это получение данных. Для этого необходимо создать новый XHR-объект. Делается это через экземпляр XMLHttpRequest. Его синтаксическая форма выглядит так:</p>
65
<p>const xhr = new XMLHttpRequest();</p>
65
<p>const xhr = new XMLHttpRequest();</p>
66
<p>Это встроенная функция конструктора в любом современном браузере. За счет нее в процессе разработки программного обеспечения не требуется добавлять в исходный код какие-либо пакеты или библиотеки.</p>
66
<p>Это встроенная функция конструктора в любом современном браузере. За счет нее в процессе разработки программного обеспечения не требуется добавлять в исходный код какие-либо пакеты или библиотеки.</p>
67
<p>Теперь необходимо подготовить запрос к отправке. Для этого задействуют два аргумента:</p>
67
<p>Теперь необходимо подготовить запрос к отправке. Для этого задействуют два аргумента:</p>
68
<ul><li>используемый HTTP-метод;</li>
68
<ul><li>используемый HTTP-метод;</li>
69
<li>URL, на который необходимо направить сформированный запрос.</li>
69
<li>URL, на который необходимо направить сформированный запрос.</li>
70
</ul><p>В качестве адреса, получающего запрос, нужно воспользоваться следующей строкой:</p>
70
</ul><p>В качестве адреса, получающего запрос, нужно воспользоваться следующей строкой:</p>
71
<p>xhr.open (‘GET’, ‘https: reqres.in/api/users’)</p>
71
<p>xhr.open (‘GET’, ‘https: reqres.in/api/users’)</p>
72
<p>Теперь можно воспользоваться предварительно настроенным запросом и отправить его на обработку:</p>
72
<p>Теперь можно воспользоваться предварительно настроенным запросом и отправить его на обработку:</p>
73
<p>xhr.open</p>
73
<p>xhr.open</p>
74
<p>Ответ от серверной стороны получен - его требуется обработать.</p>
74
<p>Ответ от серверной стороны получен - его требуется обработать.</p>
75
<h3>Обработка ответа</h3>
75
<h3>Обработка ответа</h3>
76
<p>XHR поддерживает несколько способов прослушивания onload-событий:</p>
76
<p>XHR поддерживает несколько способов прослушивания onload-событий:</p>
77
<ul><li>xhr.addEventListener (“load”, reqListener);</li>
77
<ul><li>xhr.addEventListener (“load”, reqListener);</li>
78
<li>xhr.onload = () => { };</li>
78
<li>xhr.onload = () => { };</li>
79
</ul><p>Далее работа будет осуществляться со вторым методом прослушивания событий. Это связано с тем, что он обладает большей поддержкой современных браузеров.</p>
79
</ul><p>Далее работа будет осуществляться со вторым методом прослушивания событий. Это связано с тем, что он обладает большей поддержкой современных браузеров.</p>
80
<p>Onload в XHR сработает, когда пользователь получит ответ для дальнейшего получения данных. Зарегистрировать его предлагается при помощи следующей конструкции:</p>
80
<p>Onload в XHR сработает, когда пользователь получит ответ для дальнейшего получения данных. Зарегистрировать его предлагается при помощи следующей конструкции:</p>
81
<p>xhr.onload = () => { console.log(xhr.response);};</p>
81
<p>xhr.onload = () => { console.log(xhr.response);};</p>
82
<p>В соответствующем случае в журнале консоли будет распознано множество информации. Она печатается в виде строки, но на самом деле представляет собой JSON. Для преобразования этого ответа в объект JavaScript и дальнейшего управления им необходимо воспользоваться следующей конструкцией:</p>
82
<p>В соответствующем случае в журнале консоли будет распознано множество информации. Она печатается в виде строки, но на самом деле представляет собой JSON. Для преобразования этого ответа в объект JavaScript и дальнейшего управления им необходимо воспользоваться следующей конструкцией:</p>
83
<p>Еще один способ проанализировать ответ JSON - это установить для атрибута responseType значение "json":</p>
83
<p>Еще один способ проанализировать ответ JSON - это установить для атрибута responseType значение "json":</p>
84
<p>А вот пример полного блока кода, отвечающего за принятие ответа от сервера и его дальнейшую обработку:</p>
84
<p>А вот пример полного блока кода, отвечающего за принятие ответа от сервера и его дальнейшую обработку:</p>
85
<p>Существуют и другие XHR-запросы. Кроме получения данных основной используемой командой в асинхронной работе клиент-серверной модели является отправка информации на серверную сторону.</p>
85
<p>Существуют и другие XHR-запросы. Кроме получения данных основной используемой командой в асинхронной работе клиент-серверной модели является отправка информации на серверную сторону.</p>
86
<h2>Отправка данных</h2>
86
<h2>Отправка данных</h2>
87
<p>При создании нового пользователя на сайте необходимо отправлять данные. Эта операция помогает указывать:</p>
87
<p>При создании нового пользователя на сайте необходимо отправлять данные. Эта операция помогает указывать:</p>
88
<ul><li>работу пользователя;</li>
88
<ul><li>работу пользователя;</li>
89
<li>пользовательское имя;</li>
89
<li>пользовательское имя;</li>
90
<li>иные данные о человеке.</li>
90
<li>иные данные о человеке.</li>
91
</ul><p>Для отправки данных тоже используется new XMLHttpRequest. Вместо GET в формируемой "команде" при вызове xhr.open() необходимо задействовать метод POST. С его помощью получится установить URL-адрес для запроса и добавить информацию для пользователя, которого хочется создать в системе:</p>
91
</ul><p>Для отправки данных тоже используется new XMLHttpRequest. Вместо GET в формируемой "команде" при вызове xhr.open() необходимо задействовать метод POST. С его помощью получится установить URL-адрес для запроса и добавить информацию для пользователя, которого хочется создать в системе:</p>
92
<p>В ходе обработки соответствующей операции reqres.ini ответит на запрос со статусом 2xx. Далее он отправит дополнительную информацию об успешном создании пользователя. Выглядеть результат обработки XHR будет так:</p>
92
<p>В ходе обработки соответствующей операции reqres.ini ответит на запрос со статусом 2xx. Далее он отправит дополнительную информацию об успешном создании пользователя. Выглядеть результат обработки XHR будет так:</p>
93
<p>Существуют и другие методы, используемые при управлении потоком запроса.</p>
93
<p>Существуют и другие методы, используемые при управлении потоком запроса.</p>
94
<h2>Методы abort, send и open</h2>
94
<h2>Методы abort, send и open</h2>
95
<p>Open - основной метод, работающий с запросами new XMLHttpRequest. Он был приведен ранее. Общая форма его представления имеет следующий вид:</p>
95
<p>Open - основной метод, работающий с запросами new XMLHttpRequest. Он был приведен ранее. Общая форма его представления имеет следующий вид:</p>
96
<p>open(method, URL, async, user, password)</p>
96
<p>open(method, URL, async, user, password)</p>
97
<p>Здесь:</p>
97
<p>Здесь:</p>
98
<ol><li>Method - это HTTP-метод. Обычно для работы с XHR используется GET или POST. Реже - PUT, DELETE, TRACE.</li>
98
<ol><li>Method - это HTTP-метод. Обычно для работы с XHR используется GET или POST. Реже - PUT, DELETE, TRACE.</li>
99
<li>URL - адрес запроса. Тут допускается использование разнообразных протоколов, но помня об ограничениях безопасности. Они указывают на то, что запрос со страницы может быть отправлен только на тот же протокол://домен:порт, с которого он пришел.</li>
99
<li>URL - адрес запроса. Тут допускается использование разнообразных протоколов, но помня об ограничениях безопасности. Они указывают на то, что запрос со страницы может быть отправлен только на тот же протокол://домен:порт, с которого он пришел.</li>
100
<li>Async - тип запроса. Если этот параметр имеет значение false, работать код будет синхронно. True указывает на синхронную работу.</li>
100
<li>Async - тип запроса. Если этот параметр имеет значение false, работать код будет синхронно. True указывает на синхронную работу.</li>
101
<li>User, password - логин и пароль для HTTP-авторизации. Может отсутствовать.</li>
101
<li>User, password - логин и пароль для HTTP-авторизации. Может отсутствовать.</li>
102
</ol><p>При использовании метода open обязательными выступают только первые два аргумента. А сама по себе эта операция не открывает соединение. За соответствующую операцию отвечает send().</p>
102
</ol><p>При использовании метода open обязательными выступают только первые два аргумента. А сама по себе эта операция не открывает соединение. За соответствующую операцию отвечает send().</p>
103
<p>Метод send() имеет простую структуру:</p>
103
<p>Метод send() имеет простую структуру:</p>
104
<p>Send(body)</p>
104
<p>Send(body)</p>
105
<p>Используется этот метод для отправки запроса на сервер. Body - это тело формируемого запроса. Не у всякой отправляемой "команды" оно есть. Примером может послужить GET-запрос. Если у него отсутствует тело, осуществляется передача пустой строки или null. А в POST основная информация передается именно через body.</p>
105
<p>Используется этот метод для отправки запроса на сервер. Body - это тело формируемого запроса. Не у всякой отправляемой "команды" оно есть. Примером может послужить GET-запрос. Если у него отсутствует тело, осуществляется передача пустой строки или null. А в POST основная информация передается именно через body.</p>
106
<p>Еще один метод, который пригодится при работе с new XMLHttpRequest - это abort(). Данная операция позволяет прервать выполнение запроса.</p>
106
<p>Еще один метод, который пригодится при работе с new XMLHttpRequest - это abort(). Данная операция позволяет прервать выполнение запроса.</p>
107
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
107
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
108
108