HTML Diff
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 = () =&gt; { };</li>
78 <li>xhr.onload = () =&gt; { };</li>
79 </ul><p>Далее работа будет осуществляться со вторым методом прослушивания событий. Это связано с тем, что он обладает большей поддержкой современных браузеров.</p>
79 </ul><p>Далее работа будет осуществляться со вторым методом прослушивания событий. Это связано с тем, что он обладает большей поддержкой современных браузеров.</p>
80 <p>Onload в XHR сработает, когда пользователь получит ответ для дальнейшего получения данных. Зарегистрировать его предлагается при помощи следующей конструкции:</p>
80 <p>Onload в XHR сработает, когда пользователь получит ответ для дальнейшего получения данных. Зарегистрировать его предлагается при помощи следующей конструкции:</p>
81 <p>xhr.onload = () =&gt; { console.log(xhr.response);};</p>
81 <p>xhr.onload = () =&gt; { 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