ВУЗ:
Составители:
Рубрика:
40
Вызов AJAX
Основным объектом, при помощи которого идет обращение клиентских
запросов к сервер, является XMLHttpRequest. Инициализация данного объекта
отличается в различных браузерах. Рассмотрим пример кроссбраузерного создания
XMLHttpRequest:
function createRequestObject() {
//Проверка поддержки объекта XMLHttpRequest
if (XMLHttpRequest == undefined) {
XMLHttpRequest = function() {
// Объект создается при помощи Msxml2.XMLHTTP
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) {}
throw new Error("This browser does not support XMLHttpRequest.");
};
} else {
// Создание нового объекта XMLHttpRequest
return new XMLHttpRequest();
}
Результат функции createRequestObject должен ссылаться на корректный
объект XMLHttpRequest, независимо от используемого пользователем браузера.
После инициализации XMLHttpRequest необходимо вызвать функцию open,
которая создает соединение. Ниже приведен пример, выполняющий запрос на
сервер и загрузку данных:
var xmlhttp;
function SendData(id) {
xmlhttp = createRequestObject ()
xmlhttp.open(‘GET’, ‘personal.php?id=’+id, true);
xmlhttp.send(null);
xmlhttp.onreadystatechange = processResponse;
}
Для вывода данных в экран браузера метод SendData принимает id в качестве
параметра, который передается на сервер. Событие onreadystatechange объекта
xmlhttp срабатывает при изменении readystate. В приведенном примере для
обработки события onreadystatechange указывается функция processResponse
.
Посредством передачи следующих трех параметров для объекта
XMLHttpRequest определяется получение доступа к URL:
Метод POST или GET;
URL плюс любой ушедший параметр. В приведенном примере
передается только id. Для определения многопараметрических URL
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »