Ajax stands for Asynchronous JavaScript and XML.
It allows you to get or send information to other pages on your server using Javascript. Usually, those pages are php, which parse the information and reply back to your browser. Basically, it's communication between the web page and your server without reloading the entire page.
Let's say you have a site that you have to register for.
Instead of them submitting the form and waiting for all the style, images, and text to reload, just to be told that the username they attempted to use was taken is annoying (Also, they'll probably have to re-fillout part of the registration form).
With Ajax, you can have javascript grab the contents of a page like "checkname.php?name=[whatever they enetered]". The php page would only need to say "1" or "0" depending on whether it's taken or not.
The Javascript would see that and could alert the user almost immediately after they finished typing the name.
It's very useful, but shouldn't be relied on (haha, I've made that mistake before) because if their connection is slow, the response can be delayed. It also relies heavily on JavaScript, which is a problem if they don't have a lot of Ram (Or don't have JS enabled).
Note that if the script is on
www.website.com/hello.js, you can only grab files from
www.website.com/*
Valid requests would be for:
www.website.com/test.php
www.website.com/directory/file.php
Invalid requests include:
subdomain.website.com/file.php (A different subdomain)
http://website.com/file.php (Again subdomain, but this time the sub-dir. is blank)
www.google.com (Any other site)
Bruce