Remember Me
forgot your password?

Introduction to Ajax

Brief history

Ajax is only a name given to a set of tools that were previously existing.

The main part is XMLHttpRequest, a class usable in JavaScript , that was implemented into Internet Explorer since the 4.0 version.

The same concept was named XMLHTTP some times, before the Ajax name becomes commonly used.

The use of XMLHttpRequest in 2005 by Google, in Gmail and GoogleMaps has contributed to the success of this format. But this is the name Ajax itself that made the technology so popular.

Why to use Ajax?

Mainly to build a fast, dynamic website, but also to save resources.

For improving sharing of resources, it is better to use the power of all the client computers rather than just an unique server and network. Ajax allows to perform processing on client computer (in JavaScript) with data taken from the server.

The processing of web page formerly was only server-side, using web services or PHP scripts, before the whole page was sent within the network.

But Ajax can selectively modify a part of a page displayed by the browser, and update it without the need to reload the whole document with all images, menus, etc...

For example, fields of forms, choices of user, may be processed and the result displayed immediately into the same page.

What is Ajax in depth?

Ajax is a set of technologies, supported by a web browser, including these elements:

HTML and CSS for presenting.

JavaScript (ECMAScript) for local processing, and DOM (Document Object Model) to access data inside the page or to access elements of XML file read on the server (with the getElementByTagName method for example)...

The XMLHttpRequest class read or send data on the server asynchronously.

optionally...

The DomParser class may be used

PHP or another scripting language may be used on the server.

XML and XSLT to process the data if returned in XML form.

SOAP may be used to dialog with the server.

The "Asynchronous" word, means that the response of the server while be processed when available, without to wait and to freeze the display of the page.

How does it works?

Ajax uses a programming model with display and events. These events are user actions, they call functions associated to elements of the web page.

Interactivity is achieved with forms and buttons. DOM allows to link elements of the page with actions and also to extract data from XML files provided by the server.

To get data on the server, XMLHttpRequest provides two methods:

- open: create a connection.

- send: send a request to the server.

Data furnished by the server will be found in the attributes of the XMLHttpRequest object:

- responseXml for an XML file or

- responseText for a plain text.

Take note that a new XMLHttpRequest object has to be created for each new file to load.

We have to wait for the data to be available to process it, and in this purpose, the state of availability of data is given by the readyState attribute of XMLHttpRequest.

States of readyState follow (only the last one is really useful):

0: not initialized.

1: connection established.

2: request received.

3: answer in process.

4: finished.

Ajax and DHTML

DHTML has same purpose and is also, as Ajax, a set of standards:

- HTML,

- CSS,

- JavaScript.

DHTML allows to change the display of the page from user commands or from text typed by the user.

Ajax allows also to send requests asynchronously and load data from the server.

The XMLHttpRequest class

Allows to interact with the servers, thanks to its methods and attributes.

Attributes

readyState the code successively changes value from 0 to 4 that means for "ready".

status 200 is OK

404 if the page is not found.

responseText holds loaded data as a string of characters.

responseXml holds an XML loaded file, DOM's method allows to extract data.

onreadystatechange property that takes a function as value that is invoked when the readystatechange event is dispatched.

Methods

open(mode, url, boolean) mode: type of request, GET or POST

url: the location of the file, with a path.

boolean: true (asynchronous) / false (synchronous).

optionally, a login and a password may be added to arguments.

send("string") null for a GET command.

Building a request, step by step

First step: create an instance

This is just a classical instance of class, but two options must be tried, for browser compatibility.

if (window.XMLHttpRequest) // Object of the current windows

{

xhr = new XMLHttpRequest(); // Firefox, Safari, ...

}

else

if (window.ActiveXObject) // ActiveX version

{

xhr = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer

}

or exceptions may be used instead:

try {

xhr = new ActiveXObject("Microsoft.XMLHTTP"); // Trying Internet Explorer

}

catch(e) // Failed

{

xhr = new XMLHttpRequest()

}

Second step: wait for the response

The response and further processing are included in a function and the return of the function will be assigned to the onreadystatechange attribute of the object previously created.

xhr.onreadystatechange = function() { // instructions to process the response };

if (xhr.readyState == 4)

{

// Received, OK

} else

{

// Wait...

}

Third step: make the request itself

Two methods of XMLHttpRequest are used:

- open: command GET or POST, URL of the document, true for asynchronous.

- send: with POST only, the data to send to the server.

The request below read a document on the server.

xhr.open('GET', 'http://www.xul.fr/somefile.xml', true);

xhr.send(null);

Examples

Get a text

function submitForm()

{

var xhr;

try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }

catch (e)

{

try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }

catch (e2)

{

try { xhr = new XMLHttpRequest(); }

catch (e3) { xhr = false; }

}

}



xhr.onreadystatechange = function()

{

if(xhr.readyState == 4)

{

if(xhr.status == 200)

document.ajax.dyn="Received:" + xhr.responseText;

else

document.ajax.dyn="Error code " + xhr.status;

}

};

xhr.open(GET, "data.txt", true);

xhr.send(null);

}

smrithi

I love the technology AJAX and started writing blog on the same. You can check it out at Ajax. I am an optimist who believes that every person has a purpose to come to this world. And getting inspired helps to move at a good pace in life and I love writing inspiring stories and are available at Touching Stories

Rate this Article: 2 / 5 stars - 1 vote(s)
Print Email Re-Publish

Add new Comment



Captcha

  • Latest Information Technology Articles
  • More from smrithi

The Best Registry Cleaners and Repair for Your Computer Reviewed

By: George Altman | 01/12/2009
Expert Review of The 3 Best PC Registry Cleaners. I Followed The Advice of The One I Chose and My Computer is Operating Like New.

How to get about with a Computer Setup

By: John Mathew | 01/12/2009
It is important that new users know the correct way for a computer setup and take time to read the instructions and manual on the computer startup properly before setting up a new PC.

Reverse Phone Number Search –That Guy You Are Dating Is He Really Who Says He Is?

By: Enyi Nnaya | 01/12/2009
You can perform a reverse phone number search and find out within seconds if that guy that you are dating is really who he says he is. It can be very devastating to find out that you have been dating an impostor in your relationship that has lasted for a while, its devastation is by far worse than the one you will feel if the relationship ended out rightly without such scandals as finding out that you are dating an impostor.

How to Fix a Computer or PC that is Not Booting/Starting Up? How Can I Fix my PC Without Having a Boot CD? Where Can I Get a Boot CD for Windows?

By: Tom Parks | 30/11/2009
How to Fix a Computer or PC that is Not Booting Up? How Can I Fix my PC Without Having a Boot CD? What Should I Do if I Don't Have a Boot Disc? Where Can I Get a Boot CD for Windows?

Companies Go Green By Getting in The Cloud

By: Richard Alessandro | 30/11/2009
Cloud Computing helps Companies go green.

Choosing an Industrial Display

By: Richard n Williams | 30/11/2009
Using computer monitors and LCD displays in industrial environments can encompass some challenges that are not necessary to consider when choosing a monitor for the office or home.

How to Make Your Own Biodiesel - Homemade Biodiesel Guide

By: Colby Marks | 30/11/2009
How to Make Your Own Biodiesel? We'll first of all why do people end up going with biodiesel. Reasoning being is because it is has more advantages according to "Joseph Then" the create of the amazing e book "how to make biodiesel." Learning how to Make your own biodiesel is simple and easy. Only if you follow the step by step instructions then this will help benefit you. If done in the right manner. However if you are looking for an alternative fuel then making biodiesel is the p...

Questions You Need To Answer Before Buying A POS System

By: Coy Mcdaniel | 30/11/2009
Making it an option to buy a POS system for your business may seem to be so simple especially if you have all the money to spare. If you can afford one or more because you have more than enough for your financial needs then you might consider purchasing without spending a lot of time thinking and weighing your options. You will not be worrying about your expenses. After all, you have all the money you need. H...

Silent Love Story

By: smrithi | 05/02/2008 | Relationships
This is a silent love story of how two hearts depart from each other and at last, their love towards each other helps them to live with each other forever

Alternative to Ajax

By: smrithi | 02/01/2008 | Information Technology
Though AJAX evolved in the year 2005, its roots were from the already existing technologies and there was an alternative to AJAX technology in the olden but had some drawbacks

Submit Your Articles Free: Signup
Article Categories




Use of this web site constitutes acceptance of the Terms Of Use and Privacy Policy | User published content is licensed under a Creative Commons License.
Copyright © 2005-2008 Free Articles by ArticlesBase.com, All rights reserved. (0.45, 1, w1)