Главная Другое
Экономика Финансы Маркетинг Астрономия География Туризм Биология История Информатика Культура Математика Физика Философия Химия Банк Право Военное дело Бухгалтерия Журналистика Спорт Психология Литература Музыка Медицина |
страница 1 ... страница 2страница 3страница 4XMLHTTPВ интерактивности - статические html сайты - это прошлое. Динамические с использованием CGI (или модулей сервера, например Apache) и баз данных, когда сервер при отправки формы формирует страницу и показывает ее после обновления - чуть современней, но все же во многих областях, где требуется практически сопостовимая с десктопными приложениями интерактивность - так же угасают. На смену приходят интерактивные функциональные программы, в полной мере взаимодействующие с пользователем; информация, полученная от сервера практически мгновенно отображается на экране без перезагрузке страницы. Речь идет об AJAX'e, что в расшифровке "асинхронный JavaScript и XML" (термин ввел Джесс Гарретт). А если более подробно, то - "асинхронный JavaScript + CSS + DOM + XMLHttpRequest".Рассмотрим XMLHttpRequest. XMLHTTP (XMLHttpRequest, XHR) — набор API, используемый в языках JavaScript, JScript, VBScript и им подобных для пересылки различных данных (XML, XHTML, JSON и т.д.) по HTTP-протоколу между браузером и веб-сервером. Позволяет осуществлять HTTP-запросы к удаленному серверу без необходимости перезагружать страницу. XMLHTTP является важной составляющей технологии AJAX (Asynchronous JavaScript And XML), используется многими сайтами для создания динамичных, быстро реагирующих на запросы пользователя приложений. Например XMLHTTP используется такими сайтами как Gmail, Google Suggest, MSN Virtual Earth. XMLHTTP работает только с файлами, находящимися на том же домене, что и использующая XMLHTTP страница. Как и в случае JavaScript, это сделано в целях безопасности (cross-site scripting). Кроме пересылки XML, через XMLHTTP можно обмениваться данными формы и просто текстовыми строками.
ИсторияВпервые был реализован компанией Microsoft, появившись в Internet Explorer 5.0 в виде объекта ActiveX, доступного через JScript, VBScript, или другие скриптовые языки, поддерживающиеся браузером. Программисты проекта Mozilla затем разработали совместимую версию, называющуюся XMLHttpRequest в Mozilla 1.0. В дальнейшем эта возможность также была реализована компаниями Apple начиная с Safari 1.2, родственным браузером Konqueror, компанией Opera Software начиная с Opera 8.01, и, вероятно, другими. Методы класса XMLHttpRequest
Свойства класса XMLHttpRequest
Ошибки, вызываемые классом XMLHttpRequest
Пример использованияПлан работы с объектом XMLHttpRequest можно представить следующим образом: Создание экземпляра объекта XMLHttpRequest Установка обработчика события Открытие соединения и отправка запроса. Создание экземпляра объекта XMLHttpRequest. На этой стадии необходима отдельная реализация для разных браузеров. Конструкция создания объекта отличается: в IE 5 - IE 6 она реализована через ActiveXObject, а в остальных браузерах (IE 7, Mozilla, Opera, Netscape и Safari) — как встроенный объект типа XMLHttpRequest. Вызов для ранних версий Internet Explorer выглядит так: var req = new ActiveXObject("Microsoft.XMLHTTP"); В более поздних версиях Internet Explorer (до IE7) рекомендуется использовать: var req = new ActiveXObject("Msxml2.XMLHTTP"); В остальных браузерах: var req = new XMLHttpRequest(); То есть, для обеспечения кросс-браузерности кода, нужно лишь проверять наличие объектов window.XMLHttpRequest и window.ActiveXObject, и, в зависимости от того, какой есть, тот и применять. В качестве универсального решения предлагается использование такой функции: function createRequestObject() { if (window.XMLHttpRequest) { try { return new XMLHttpRequest(); } catch (e){} } else if (window.ActiveXObject) { try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e){ try {
return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e){} } }
} Установка обработчика событий, открытие соединения и отправка запросов Эти вызовы выглядят так: req.onreadystatechange = processReqChange; req.open(<"GET"|"POST"|...>, req.send(null); После этого начинает работать вышеуказанный обработчик событий. Он — фактически основная часть программы. В обработчике обычно происходит перехват всех возможных кодов состояния запроса и вызов соответствующих действий, а также перехват возможных ошибок. Пример кода с этими двумя функциями: var req;
function loadXMLDoc(url) { req = null; if (window.XMLHttpRequest) { try {
req = new XMLHttpRequest(); } catch (e){} } else if (window.ActiveXObject) { try {
req = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e){ try { req = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e){} } } if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(null); } }
{ try { // Важно! // только при состоянии "complete" if (req.readyState == 4) { // для статуса "OK" if (req.status == 200) { // обработка ответа } else {
alert("Не удалось получить данные:\n" + req.statusText); } }
catch( e ) { // alert('Caught Exception: ' + e.description); // В связи с багом XMLHttpRequest в Firefox приходится отлавливать ошибку // Bugzilla Bug 238559 XMLHttpRequest needs a way to report networking errors // https://bugzilla.mozilla.org/show_bug.cgi?id=238559 }
Смотрите также: Глобальная компьютерная сеть – интернет 2 web 0 5 обзор технологий 7
497.86kb.
4 стр.
Глобальная сеть интернет и информационная среда
41.87kb.
1 стр.
Статья раскрывает проблему проектирования новой образовательной среды обучения, основанной на современных информационных и коммуникационных технологиях в условиях применения Интернет, Web-технологий, гипертекста
104.1kb.
1 стр.
Москва, Россия
75.38kb.
1 стр.
Интернет: скрытые угрозы у интернета много имен и свойств. Всемирная компьютерная сеть, способ мгновенной коммуникации, «территория свободы»
86kb.
1 стр.
Общие положения о web-сайтах Сайт от англ website: web — «паутина, сеть»
126.41kb.
1 стр.
Стоит отметить, что в 90-х годах прошлого столетия Интернет рассматривался как глобальная сеть, не имеющая границ, в том числе государственных, с присущей ему географической анонимностью пользователей
129.27kb.
1 стр.
Нормы пользования услугами сети передачи данных и доступа в сеть интернет общие положения
47.33kb.
1 стр.
Программа предпрофильного элективного курса
127.15kb.
1 стр.
Управление корпоративной информационно-образовательной средой на базе интернет-технологий
37.13kb.
1 стр.
В этом разделе мы рассмотрим вопросы подключения к всемирной паутине, безопасности, общения и развлечения в Сети. А также, что для этого необходимо
16.32kb.
1 стр.
Сеть и Интернет Заходим в Пуск->Панель управления->Сеть и Интернет 35.14kb.
1 стр.
|