Onreadystatechange событие
Когда запрос на сервер отправляется, мы хотим, чтобы выполнить некоторые действия, основанные на ответе.
Событие onreadystatechange срабатывает каждый раз, когда readyState изменения.
ReadyState свойство содержит статус XMLHttpRequest.
Три важных свойства объекта XMLHttpRequest:
Имущество | Описание |
---|---|
onreadystatechange | Магазины функция (или имя функции) будет вызываться автоматически каждый раз, когда изменяется свойство readyState |
readyState | Держит статус XMLHttpRequest. Изменения от 0 до 4: 0: Запрос не инициализирован 1: соединение с сервером установлено 2: запрос получен 3: обработка запроса 4: просить закончен и будет готов |
status | 200: "OK" 404 Страница не найдена |
В onreadystatechange случае, мы указываем, что произойдет, когда ответ сервер готов к обработке.
Когда readyState равно 4, и состояние 200, ответ готов:
пример
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
Попробуй сам " Примечание: onreadystatechange событие запускается в пять раз (0-4), один раз для каждого изменения в readyState.
Использование функции обратного вызова
Функция обратного вызова является функцией передается в качестве параметра другой функции.
Если у вас есть более одной задачи AJAX на вашем сайте, вы должны создать одну стандартную функцию для создания объекта XMLHttpRequest, и называем это для каждой задачи AJAX.
Вызов функции должен содержать URL и что делать на onreadystatechange (который, вероятно, отличается для каждого вызова):
пример
function loadDoc(cFunc) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
cFunc(xhttp);
}
Попробуй сам "