Ajax type behavior can be created in Web applications a few different ways. One of the more “old school” and cross-browser compatible methods was using a hidden IFRAME element to perform client-server transactions in the background. This can still be an appropriate technique today, but most modern browsers have some degree of support for the
XMLHttpRequest object in their JavaScript implementation. If you aren’t already familiar with it you should explore What is XMLHttpRequest for details, usage examples and history of XMLHttpRequest.
By implementing dynamic data with XMLHttpRequest, we can perform all kinds of operations in the background while the user continues working – save a draft, fetch some data from the DB, etc. By minimizing the lag that comes along with the stateless HTTP protocol and multiple GET and POST requests, we improve the efficiency and usability of our apps.
A word of caution implementing Ajax methodology in your apps. While the benefits are numerous, it’s important to make sure the app still works without XMLHttpRequest support unless you have a well-defined target user or platform. It’s also clear that the transition from traditional Web sites to robust Web 2.0 scripts can be system shock for your average user. It’s exceedingly important with all the new technology out there to meter the impact of the new technologies you implement and never add something just for the sake of adding it.