Лабораторная работа: XMLHttpRequest (AJAX)
* будем скрывать / показывать слои "Загрузка данных",
* само поле данных и т.д.
*/
function processRequestChange() {
document. getElementById("resultdiv"). style. display = 'none';
document. getElementById("state"). value = getRequestStateText(request. readyState);
abortRequest = window. setTimeout("request. abort(); ", 10000);
// если выполнен
if (request. readyState == 4) {
clearTimeout(abortRequest);
document. getElementById("statuscode"). value = request. status;
document. getElementById("statustext"). value = request. statusText;
// если успешно
if (request. status == 200) {
document. getElementById("resultdiv"). style. display = 'block';
document. getElementById("responseHTML"). innerHTML = request. responseText;
} else {
alert("Не удалось получить данные: n" + request. statusText);
}
document. getElementById("loading"). style. display = 'none';
}
// иначе, если идет загрузка или в процессе - показываем слой "Загружаются данные"
else if (request. readyState == 3 || request. readyState == 1) {
document. getElementById("loading"). style. display = 'block';
}
}
Теперь HTML-формы нашего примера:
<input type="text"
id="search"