What is Ajax?
- 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 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.

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 limitations
- 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.