Introduction to AJAX
AJAX stands for Asynchronous JavaScript And Xml. Basically, AJAX is a collection of other important interactive technologies that are free to use and not associated with any particular company. (W3Schools)
Concept
The concept of AJAX is pretty simple. Most of the time when you are browsing the web, you click on a link or a "Submit" button and the page will refresh,
going blank momentarily, then appearing again with new content. While the page is blank, your computer is communicating with the site's web server and getting information about the new page. It gets rid of the old page and displays all new information. While this is occurring, there is a short delay.
AJAX aims to fix this. With AJAX, your web browser is given the ability to do some work locally, without having to communicate with an outside web server. This means that parts of the page will refresh sometimes, but not all of it, resulting in a more intuitive experience. As the Mozilla Development Center notes, “Ajax’s most appealing characteristic, however, is its ‘asynchronous’ nature, which means it can do all of this without having to refresh the page.” A good, but not perfect, analogy is to a desktop application, such as Microsoft Word or Excel. With those programs, you don't need to connect to a web server to do tasks like editing a document, and there's no blank page delay when you try to do something. AJAX aims to create such a seamless and intuitive environment for the web. Once a page is loaded for the first time, you rarely experience any delays, but you can still perform interactive, dynamic tasks, such as reading email, opening new parts of the page, or seeing intuitive visual cues that adjust to your input. AJAX is commonly used in more modern sites, where the user interacts significantly.
AJAX also uses "partial refresh," in which part of the page is reloaded, and there is some background communication with the web server. Rather than updating the whole page, as is typical, only part of the page is updated, and you'll still see the rest of the information. Most of the time, this is how things like progress bars work online. You still see all the old information and it is gradually replaced with new information from the web server, without you having to visit any new pages. Thus, you get an interactive, dynamic experience--the information is accurate, current, and responding to your input or real world events--without leaving the page. Such an environment also makes it easy for you to quickly send information back to the server, such as a comment or a tag. As AJAX technology progresses and becomes more prevalent, we may see tasks that were once only done offline, such as document and spreadsheet creation, migrate fully to online platforms. In fact, Google has already created an online service known as Google Docs, which enables users to create spreadsheets, documents, and presentations dynamically. Such content is stored on Google’s servers but can be saved as easily and quickly as a document in desktop applications, like Microsoft Office. Experts expect that such technology will become increasingly popular in time and may eventually replace many desktop applications. (Garrett)
Examples
AJAX is being used more and more. Google has made heavy use of AJAX in their emerging technologies, such as Google Mail and Google Suggest. The latter is an excellent example of on-the-fly communication. While you are typing letters into a search box, those letters are sent to the server through JavaScript. The server then looks at what you've typed and sends back suggestions to complete your search terms--all while you keep typing. Other companies, such as Microsoft, have also used AJAX heavily in their products, such as in the .NET suite, a framework that streamlines the development of web applications, among other things. One of the neat things about AJAX is that it is not tied to any particular company or technology, but rather has an open standard (which means that anyone can find out the details of how it works on a very technical level and build products that use it). This means that no matter what other technologies you are using to create interactivity, AJAX could also be used to enhance the experience.