AJAX the onreadystatechange Event


The onreadystatechange Event
When a request to a server is sent, we want to perform some actions based on the response. The onreadystatechange event is triggered every time the readyState changes. The readyState property holds the status of the XMLHttpRequest. Three important properties of the XMLHttpRequest object:

Property Description
onreadystatechange Stores a function (or the name of a function) to be called automatically each time the readyState property changes.
readyState Holds the status of the XMLHttpRequest. Changes from 0 to 4:
  • 0: Request not initialized
  • 1: Server connection established
  • 2: Request received
  • 3: Processing request
  • 4: Request finished and response is ready
status
  • 200: “OK”
  • 400: Page not found

Let AJAX change this text.


In the onreadystatechange event, we specify what will happen when the server response is ready to be processed. When readyState is 4 and status is 200, the response is ready. The onreadystatechange event is triggered four times, one time for each change in readyState.

<script type="text/javascript">
  function loadXMLDoc( ) {
    var xmlhttp;
    if ( window.XMLHttpRequest ) {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp = new XMLHttpRequest( );
    }
    else {
      // code for IE6, IE5
      xmlhttp = new ActiveXObject( "Microsoft.XMLHTTP" );
    }
    xmlhttp.onreadystatechange = function( ) {
      if ( ( xmlhttp.readyState == 4 ) && 
           ( xmlhttp.status     == 200 ) ) {
        document.getElementById("myDiv").innerHTML =
          xmlhttp.responseText;
      }
    }
    xmlhttp.open( "GET", "AJAX_info.txt", true );
    xmlhttp.send( );
  }
</script>