what's the logic of ajax code example

Example: what's the logic of ajax

function loadDoc() {
  //step 1. as you clearly understand
  var xhttp = new XMLHttpRequest();
  //step 2. Here you are defining the function that should run once the data is 'ready' 
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     document.getElementById("demo").innerHTML = this.responseText;
    }
  };
  //step 3. Define what type of request you are making (param 1) and where you are making that request to (param 2)
  //you are also setting a boolean if the request should be asynchronous (param 3) . Note: that should always be true
  xhttp.open("GET", "ajax_info.txt", true);
  //step 4. Send the request to the server resource you defined in step 3. 
  xhttp.send();
}