Объект XMLHttpRequest (или, как его кратко называют, «XHR») дает возможность из JavaScript делать HTTP-запросы к серверу без перезагрузки страницы.
Как правило, XMLHttpRequest используют для загрузки данных.
Пример: загружаем файл phones.json из текущей директории и выдаем его содержимое:

Разбираем методы:

Этот метод как правило вызывается первым. Принимает параметры:
· method – HTTP-метод: GET,POST.
· URL – адрес запроса, можно использовать протоколы: http/https://, file://, ftp://.
· async — если установлено в false, то запрос производится синхронно, если true — асинхронно.
«Синхронный»запрос означает, что после вызова xhr.send и до ответа сервера главный поток будет «заморожен» и пользователь не сможет взаимодействовать со страницей.
«Асинхронный запрос» означает, что браузер отправит запрос, а далее результат нужно будет получить через обработчики событий.
Функция open не открывает соединения, его открывает функция send.

Этот метод открывает соединение и отправляет запрос на сервер. У POST есть тело запроса, которое хранится в body (через которое передаются данные), у GET тела запроса нету.

Прерывает выполнение запроса.