AJAX is not a new technology. It is a set of various existing technologies. Ajax key constituents:
- Standards-based presentation using XHTML and CSS
- Dynamic display and interaction using the Document Object Model
- Asynchronous server communication using XMLHttpRequest
Some uses for AJAX interactions are the following:
Real time formdata validation: Formdata such as user IDs, serial numbers, postal codes, or even special coupon codes that require server-side validation can be validated in a form before the user submits a form. See Real-time Form Validationfor details.
Auto completion: A specific portion of form data such as an email address, name, or city name may be autocompleted as the user types.
Load on demand: Based on a client event, an HTML page can fetch more data in the background, allowing the browser to load pages more quickly.
Sophisticated user interface controls and effects: Controls such as trees, menus, data tables, rich text editors, calendars, and progress bars allow for better user interaction and interaction with HTML pages, generally without requiring the user to reload the page.
Refreshing data and server push: HTML pages may poll data from a server for up-to-date data such as scores, stock quotes, weather, or application-specific data. A client may use AJAX techniques to get a set of current data without reloading a full page. Polling is not the most efficient means of ensuring that data on a page is the most current.
Partial submit: An HTML page can submit form data as needed without requiring a full page refresh. Mashups: An HTML page can obtain data using a server-side proxy or by including an external script to mix external data with your application’s or your service’s data. For example, you can mix content or data from a third-party application such as Google Maps with your own application. Page as an application: AJAX techniques can be made to create single-page applications that look and feel much like a desktop application. See the article on the use of AJAX and portlets for more on how you can use portlet applications today. Though not all-inclusive, this list shows that AJAX interactions allow web applications to do much more than they have done in the past.