The XMLHttpRequest Object
XMLHttpRequest
is an API that facilitates to and fro exchange of data between a client and a server. Here we explore the most commonly used properties and methods of the XMLHttpRequest
object.
PROPERTIES
XMLHttpRequest.onreadystatechange
The onreadystatechange
property has an event handler which is called everytime the readystatechange
event is fired, which in turn is fired every time the readyState
attribute of the XMLHttpRequest
object changes.
XMLHttpRequest.readyState
The readyState
attribute gives the state of the XMLHttpRequest
client in integer values from 0 to 4. 0 - uninitialized. 1 - open()
method called successfully; connection with server established. 2 - send()
method called; HTTP response headers have been received. 3 - data is being received; responseText
property holds partial data. 4 - request operation for transfer of data from the server is completed.
XMLHttpRequest.status
status
property returns standard HTTP status codes. For example, status
value of 200 denotes "Ok" and 404 "Not Found".
XMLHttpRequest.responseText
responseText
returns the response data as a string.
XMLHttpRequest.responseXML
responseXML
returns the response data as XML.
METHODS
open()
The open()
method initializes HTTP/HTTPS requests of the XMLHttpRequest
object and can accept upto five parameters.
open(method, url, async, user, password);
The method
parameter can have GET
, POST
, or HEAD
values. The url
parameter is the URL to send the request to, either absolute or relative. The async
parameter takes a Boolean value: true
for asynchronous requests and false
for synchronous requests. The user
parameter is the name of the user for authentication, but is optional. By default, it is an empty string. The password
parameter is another optional parameter for authentication which, by default, is also an empty string.
send()
The send()
method sends the request to the server. For GET
method, there is no parameter required. But to send data with the request using the POST
method, a single parameter containing the data has to be passed to send()
, for example, send(name=Spock&planet=Vulcan)
.