AJAX запрос данных из http заголовка - WebDesignStudio1
Per aspera ad astra


Параметры поиска

Выбор рубрики
Поиск по


Сортировать


Порядок отображения



AJAX запрос данных из http заголовка

Описание примера AJAX запроса данных из HTTP заголовка

В статье описан пример извлечения данных из заголовка HTTP запросов. Приводимый скрипт во многом повторяет предыдущие по теме AJAX, поэтому объяснения будут краткими, более детально описание нужно смотреть в статье Пример AJAX запроса.

Вид данных HTTP заголовка

Ответ сервера: 

 

По кнопке "Запрос" вызывается функция callData(), которая управляет процессом запроса данных с сервера, вот ее код.


function callData() {
var url ;
xmlHttp = createAjax();
if(xmlHttp){ // xmlHttp was created
url="script/php/getNumb.php"; // create URL for connection
try {
xmlHttp.open("HEAD",url,true);
xmlHttp.onreadystatechange=getHeader;
xmlHttp.send(null);
}catch(e){
alert("Невозможно соединиться с сервером:\n"+e.toString()+ "\n"+e.description);
}
}else{ alert('xmlHttp undefined');}
}

 
Как видите, по сравнению с примерами предыдущих статей изменений немного. При инициализации запроса методом OPEN изменился лишь ее первый параметр и используется другой обработчик приходящих ответов, остальное — без изменений. Обработка пришедших данных мало чем отличается от обработки, приведенной в примерах предыдущих статей. Также проверяется значение свойства xmlHttp.readyState==4 и ответ сервера (xmlHttp.status==200).


function getHeader() {
var response = document.getElementById("response");
var option = document.getElementById("select").selectedIndex;
if (xmlHttp.readyState==4) {
if(xmlHttp.status==200) {
try {
switch (option) {
case 0: {
response.innerHTML+= "
   Тип данных отклика = " + xmlHttp.getResponseHeader("Content-Type") + "
";
break;
};
case 1: {
response.innerHTML+= "
   Дата генерации отклика = " + "
" + xmlHttp.getResponseHeader("Date") + "
";
break;
};
case 2: {
response.innerHTML+= "
   Строка заголовка =
" + xmlHttp.getAllResponseHeaders() + "
";
break;
};
}
}catch (e4) { alert("Ошибка доступа к содержимому страницы"); }
}
else if (xmlHttp.status==404) { alert ("Requested URL is not found."); }
else if (request.status == 403) { alert("Access denied."); };
}
}

 

Полный текст приведенного примера можно скопировать в конце Web страницы, открыв ее исходный код.