>>>

Проектирование, разработка и оптимизация веб-приложений

Объект XMLHttpRequest

Объект XMLHttpRequest позволяет получать данные с сервера в фоновом режиме. Как правило, возвращаемая информация представляется в формате XML, но данный объект также позволяет работать с любыми текстовыми данными. Объект XMLHttpRequest впервые был реализован компанией Microsoft в виде объекта ActiveX. Сейчас он уже доступен в браузерах Mozilla, Netscape (начиная с 7-ой версии) а также в Safari (с версии 1.2), естественно, не в виде ActiveX-компоненты. Объект XMLHttpRequest представляет собой набор API функций, используемый в JavaScript, VBScipt и т.п. для передачи данных XML по протоколу HTTP.

Ниже представлены методы и свойства объекта XMLHttpRequest, общие для Internet Explorer 5+, Mozilla, Netscape 7 и Safari 1.2.

Методы объекта XMLHttpRequest:

Свойства объекта XMLHttpRequest:

Общий план работы с объектом XMLHttpRequest можно представить следующим образом:

  1. Создание экземпляра объекта XMLHttpRequest.
  2. Установка обработчика события onreadystatechange.
  3. Открытие соединения с сервером методом open.
  4. Непосредственно отправка запроса методом send.

Пример

var ajaxObj;
if(window.XMLHttpRequest){
    ajaxObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
    ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
    return false;
}
ajaxObj.open((post?'POST':'GET'), 'https://htmlweb.ru/api.php');
ajaxObj.setRequestHeader("Content-Type",
            "application/x-www-form-urlencoded; charset=utf-8;");
ajaxObj.onreadystatechange =function(){
    if(ajaxObj.readyState==4 && ajaxObj.status==200){
        console.log('Статус:'+ajaxObj.status+', ответ:'+ajaxObj.statusText);
    }
};
ajaxObj.timeout = 10000; // 10 sec
ajaxObj.ontimeout = function(){hide('wait');alert("Время выполнения запроса истекло!");};
ajaxObj.onerror = function(){hide('wait');alert("Ошибка выполнения запроса!");};
ajaxObj.send(post);
return false;

Размер шрифта:
А
А
А
Цвет сайта:
A
A
A
Изображение:
Вкл.
Выкл.
Обычная версия