Последние учебники веб-разработки
 

AJAX - The onreadystatechange Событие


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);
  }
Попробуй сам "