Книга: JavaScript. Подробное руководство, 6-е издание

22.6.2. Загрузка двоичных объектов

22.6.2. Загрузка двоичных объектов

Глава 18 охватывает тему выполнения HTTP-запросов с помощью объекта XMLHttpRequest и также описывает некоторые новые возможности, определяемые проектом спецификации «XMLHttpRequest Level 2» (XHR2). На момент написания этих строк спецификация XHR2 определяла способ загрузки содержимого URL-адреса в виде двоичного объекта, но реализации броузеров пока не поддерживали его. Поскольку программный код не может быть протестирован, этот раздел является лишь схематическим описанием прикладного интерфейса, предусматриваемого спецификацией XHR2 для работы с двоичными объектами.

Пример 22.9 демонстрирует простой способ загрузки двоичного объекта из Веб. Сравните его с примером 18.2, который загружает содержимое URL-адреса как простой текст.

Пример 22.9, Загрузка двоичного объекта с помощью объекта XMLHttpRequest

// Запрашивает методом GET содержимое URL в виде двоичного объекта и передает его
// указанной функции обратного вызова. Этот программный код не тестировался: на тот
// момент, когда он был написан, броузеры еще не поддерживали этот прикладной интерфейс,
function getBlob(url, callback) {
  var xhr = new XMLHttpRequest(); // Создать новый объект XHR
  xhr.open("GET", url);     // Указать URL-адрес
  xhr.responseType = "blob" // Желательно получить двоичный объект
  xhr.onload = function() { // onload проще, чем onreadystatechange
    callback(xhr.response): // Передать ответ функции обратного вызова
  }                         // Отметьте: .response, а не .responseText
  xhr.send(null);           // Послать запрос
}

Если загружаемый двоичный объект слишком велик и вам хотелось бы начать его обработку уже в процессе загрузки, можно задействовать обработчик события onprogress в комплексе с приемами чтения двоичных объектов, которые демонстрируются в разделе 22.6.5.

Оглавление книги


Генерация: 1.541. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз