2016-08-29 4 views
0
function loadDoc() { 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     document.getElementById("demo").innerHTML = xhttp.responseText; 
    } 
}; 
xhttp.open("GET", "ajax_info.txt", true); 
xhttp.send(); 
} 

Может кто-нибудь, пожалуйста, помогите мне понять последовательность выполнения здесь?AJAX - помогите мне понять, что последовательность кода

xhttp.onreadystatechange вызывается с IF, ожидающим состояния == 4. Но это не 4, пока xhttp.send() не будет запущен дальше в коде. Итак, как только xhttp.send() запускает State = 4, почему тогда onreadystatechange снова вызван для выполнения IF? Наверное, я смотрю на это как сверху вниз. Я просто не понимаю, как/почему onreadystatechange «ждет» для изменения состояния? Поскольку его код уже выполнен. Пожалуйста, объясните как можно проще и спасибо.

ответ

1

onreadystatechange - event handler, что означает, что он срабатывает при возникновении определенного события.

Свойство XMLHTTPRequest.onreadystatechange содержит событие обработчик будет вызываться, когда событие readystatechange обжигают, что каждый раз, когда свойство readyState от XMLHttpRequest изменения

(курсив мой)

Смежные вопросы