What is Ajax?

Asynchronous JavaScript and XML (Ajax) refer to a group of technologies that are used to develop web applications. By combining these technologies, web pages appear more responsive since small packets of data are exchanged with the server and web pages are not reloaded each time that a user makes an input change. Ajax enables a web application user to interact with a web page without the interruption of constant web page reloading. Website interaction happens quickly with only portions of the page reloading and refreshing.
Ajax is made up of the following technologies:
  • XHTML and CSS for presenting information.
  • Document Object Model (DOM) for dynamically interacting with and displaying the presented information.
  • XMLHttpRequest object to manipulate data asynchronously with the web server.
  • XML, HTML, and XSLT for data interchange and manipulation.
  • JavaScript for binding data requests and information display.
Ajax incorporates these technologies to create a new approach to developing web applications.

Ajax defines a method of initiating client to server communication without page reloads. It provides a way to enable partial page updates. From a web page user perspective, it means improved interaction with a web application, which gives the user more control of their environment, similar to that of a desktop application.

In a traditional web application, HTTP requests, that are initiated by the user's interaction with the web interface, are made to a web server. The web server processes the request and returns an HTML page to the client. During HTTP transport, the user is unable to interact with the web application.

Traditional web application model.

In an Ajax web application, the user is not interrupted in interactions with the web application. The Ajax engine or JavaScript interpreter enables the user to interact with the web application independent of HTTP transport to and from the server by rendering the interface and handling communications with the server on the user's behalf.

Ajax web application model.

Ajax limitations

While Ajax is a web application development technique that is designed to make web pages more responsive and interactive with a user, Ajax has some limitations to consider before you develop an Ajax-based application. The following limitations are some of the more prominent disadvantages:
  • Browser support - Not all browsers support JavaScript or XMLHttpRequest object. Even among browsers that do have support for JavaScript and XMLHttpRequest, these objects can be treated differently. Each browser's implementation of Ajax must be considered.
  • Security and user privacy - Not all concerns are addressed. Issues surrounding security and user privacy need to be considered when developing an Ajax application.
  • Accessibility - Because not all browsers have JavaScript or XMLHttpRequest object support, you must ensure that you provide a way to make the web application accessible to all users.
  • Bookmark and navigation - Since Ajax is used to asynchronously load bits of content into an existing page, some of the page information may not correspond to a newly loaded page. Browser history and bookmarks may not have the correct behavior since the URL was unchanged despite parts of the page being changed.
  • Search engine - Ajax applications are not searchable; however, it is possible to use Ajax features and elements within an application that is searchable.