русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Загрузка документа из сети


Дата добавления: 2015-07-09; просмотров: 423; Нарушение авторских прав


 

В главе 20 было показано, как с помощью объекта XMLHttpRequest выполнить HTTP_запрос с целью загрузки текстового документа. В случае XML_документов свойство responseXML будет ссылаться на преобразованное представление доку_ мента в виде DOM_объекта Document. Несмотря на то, что объект XMLHttpRequest не стандартизован, он получил широкое распространение и, как правило, пред_ ставляет собой наилучшее средство загрузки XML_документов.

 

Однако существует и другой способ. XML_объект Document, созданный способом, описанным в примере 21.1, может загружать и анализировать XML_документы, используя для этого менее известный прием. Пример 21.2 демонстрирует, как это делается. Что самое удивительное, в IE и броузерах, основанных на Mozilla, применяется один и тот же программный код.

 

Пример 21.2. Синхронная загрузка XML'документа

/**

* Синхронно загружает XML_документ с заданного URL_адреса

* и возвращает его в виде объекта Document

*/


 

21.1. Получение XML*документов
     
XML.load = function(url) {    
// Создать пустой документ с помощью функции, определенной ранее  
var xmldoc = XML.newDocument();  
xmldoc.async = false; // Загрузка выполняется синхронно  
xmldoc.load(url); // Загрузить и проанализировать  
return xmldoc; // Вернуть документ  
};    

 

Подобно объекту XMLHttpRequest, представленный здесь метод load() не является стандартным. Он имеет несколько существенных отличий от XMLHttpRequest. Во_ первых, он работает только с XML_документами, тогда как XMLHttpRequest может применяться для загрузки текстовых документов любого типа. Во_вторых, он не ограничен протоколом HTTP. В частности, он способен читать файлы из локаль_ ной файловой системы, что бывает удобно в процессе разработки и отладки веб_ приложения. В_третьих, когда задействован протокол HTTP, метод load() гене_ рирует запросы GET и не может использоваться для передачи данных веб_серве_ ру методом POST.



 

Подобно XMLHttpRequest, метод load() может работать в асинхронном режиме. Фактически этот режим используется по умолчанию, если в свойство async явно не будет записано значение false. В примере 21.3 приводится асинхронная вер_ сия метода XML.load().

 

Пример 21.3. Асинхронная загрузка XML'документа

/**

* Асинхронно загружает и анализирует XML_документ с заданного URL_адреса.

* Как только документ будет готов, он передается указанной функции обратного вызова.

 

* Данная функция сразу же возвращает управление и не имеет возвращаемого значения. */

 

XML.loadAsync = function(url, callback) { var xmldoc = XML.newDocument();

 

// Если XML_документ создан методом createDocument, использовать

// onload для определения момента, когда он будет загружен

 

if (document.implementation && document.implementation.createDocument){ xmldoc.onload = function() { callback(xmldoc); };

 

}

// В противном случае использовать onreadystatechange, как

// и в случае с объектом XMLHttpRequest

else {

xmldoc.onreadystatechange = function() {

if (xmldoc.readyState == 4) callback(xmldoc);

};

}

 

// Начать загрузку и анализ документа xmldoc.load(url);

};

 



<== предыдущая лекция | следующая лекция ==>
Создание нового документа | Синтаксический анализ текста XML_документа


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.128 сек.