AJAX - порядок команд с XMLHttpRequest (новичок) - PullRequest
0 голосов
/ 23 февраля 2012

В большинстве примеров, которые я нашел в Интернете, я вижу что-то вроде этого:

ajaxRequest.onreadystatechange = function() {   
    if(ajaxRequest.readyState == 4) {
        document.myForm.time.value = ajaxRequest.responseText;
    }
}

ajaxRequest.open("GET", "serverTime.php", true);
ajaxRequest.send(null);

Как это возможно и как работает этот код, когда "изменить состояние" свойство проверено до команды открытия и отправки выполняются? Я знаю, что это работает ... но как поток возвращается обратно, чтобы "проверить состояние" статус "после выполнения" open "и" send ".

Буду признателен за любую помощь

Заранее большое спасибо :-)

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

This is exactly the flow of AJAX

Создание запроса

У вас есть новый блестящий объект XMLHttpRequest;теперь возьмите это для вращения.Во-первых, вам нужен метод JavaScript, который может вызывать ваша веб-страница (например, когда пользователь вводит текст или выбирает параметр в меню).Затем вы будете следовать той же базовой схеме почти во всех ваших Ajax-приложениях:

  1. Получите все необходимые данные из веб-формы.
  2. Создайте URL для подключения.
  3. Открытие соединения с сервером.
  4. Настройка функции для запуска сервера по завершении.
  5. Отправка запроса.

Обработка ответа

Теперь вам нужно иметь дело с ответом сервера.Вам действительно нужно знать только две вещи:

* Don't do anything until the xmlHttp.readyState property is equal to 4.
* The server will stuff it's response into the xmlHttp.responseText property.
0 голосов
/ 23 февраля 2012

Поскольку onreadystatechange - это событие, и этот код не будет вызываться до тех пор, пока состояние готовности не изменится, что произойдет в определенный момент в будущем, когда запрос будет завершен.

...