Книга: 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.
- Иерархия объектов в InterBase
- Имена объектов длиной 68 символов
- Создание объектов Collection
- Загрузка модулей Apache
- 3.3. Определение объектов защиты
- 2.3.6. Задание объектов физической памяти
- Определение контекстно-связанных объектов
- 3.2. Загрузка системы
- 3.2.1. Автозагрузка
- 6.2. Описание объектов
- Активация хорошо известных объектов
- Упорядочивание объектов в Проводнике