Welcome to HBH! If you have tried to register and didn't get a verification email, please using the following link to resend the verification email.

AJAX Tutorial


AJAX Tutorial

By ghostghost | 7877 Reads |
0     0

###Asynchronous Javascript and XML### A look at how AJAX works

This tutorial will show you how ajax works and how to use it from a web developers standpoint. Ever wonder how things like G-Talk work? they don’t reload the page or use Iframes and yet they always appear to have the data thats coming in instantly. it acomplishes this using ajax. Ajax is not a language of its own, so if you know javascript and HTML, your all set.

This is where it all comes from, the ability to send and recieve data without reloading the page. First, you need to create an object though,

Firefox: var xmlhttp=new XMLHttpRequest; IE: xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);

The best way I have found to get them both in one command is:

xmlhttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject(“Microsoft.XMLHTTP”);

Now you need to create a callable function as well as an onreadystatechange handler. This part is simple. Here’s an example:

function getnamedata() { xmlhttp.open(“POST”,“file.php”); xmlhttp.onreadystatechange=handler; xmlhttp.send(“name=random&id=42”); }

function handler() { if(xmlhttp.readyState==4) { alert(“Name Info: “+xmlhttp.responseText; xmlhttp.close; } }

The xmlhttp.open call opens a connection to the page, the first parameter is POST or GET depending on the method you want to use. The second parameter is the filename of the page relative to the current directory. Line 2 tells it that whenever it goes through a statechange to call a certian function, the handler. xmlhttp.send passes variables to the script that you are calling, you’ll notice that it passes them in almost exactly the same way as a url bar minus the ‘?’.

The handler function gets called every time that xmlhttp changes state. We have the if statement so that it will only execute when readyState==4 (4 is completed). The last statement of course retreives the data from the xmlhttp object. If you are getting most types of data you should use the responseText property, for actual XML data use the responseXML property. The last statement just closes the socket for later use.

Using this as a basic model you can make an entire website live if you want to, or just find something fun to do with it.

–download,

Comments
ghost's avatar
ghost 18 years ago

Finally a worthwhile article. Good read.

ghost's avatar
ghost 18 years ago

Yea this is pretty nice.

mido's avatar
mido 17 years ago

good work :)

ghost's avatar
ghost 16 years ago

AWESOME! Very helpful, i'm shocked…now let me begin my work.

ghost's avatar
ghost 16 years ago

Very nice. Finally, something easy enough I can understand it, but still informative.