An object of XMLHttpRequest is used for asynchronous communication between client and server.
It performs following operations:
  • Sends data from the client in the background.
  • Receives the data from the server.
  • Updates the webpage without reloading it.

Properties of XMLHttpRequest object

onReadyStateChangeIt is called whenever readystate attribute changes. It must not be used with synchronous requests.
readyStaterepresents the state of the request. It ranges from 0 to 4.
  • 0 UNOPENED open() is not called.
  • 1 OPENED open is called but send() is not called.
  • 2 HEADERS_RECEIVED send() is called, and headers and status are available.
  • 3 LOADING Downloading data; responseText holds the data.
  • 4 DONE The operation is completed fully.

Methods of XMLHttpRequest object

The important methods of XMLHttpRequest object are as follows:
void open(method, URL)opens the request specifying get or post method and url.
void open(method, URL, async)same as above but specifies asynchronous or not.
void open(method, URL, async, username, password)same as above but specifies username and password.
void send()sends get request.
void send(string)send post request.
setRequestHeader(header,value)it adds request headers.
All modern browsers support the XMLHttpRequest object (Except IE5 and IE6 use an ActiveXObject).
The XMLHttpRequest object is used to exchange data with a server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page.

Create an XMLHttpRequest Object

Syntax for creating an XMLHttpRequest object:


variable=new XMLHttpRequest();
Old versions of Internet Explorer (IE5 and IE6) uses an ActiveX Object:


variable=new ActiveXObject("Microsoft.XMLHTTP");