The term Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page. In the article that coined the term Ajax,[4] Jesse James Garrett explained that it refers specifically to these technologies:
- XHTML and CSS for presentation
- the Document Object Model for dynamic display of and interaction with data
- XML and XSLT for the interchange, manipulation and display of data, respectively
- the XMLHttpRequest object for asynchronous communication
- JavaScript to bring these technologies together
Since then, however, there have been a number of developments in the technologies used in an Ajax application, and the definition of the term Ajax. In particular, it has been noted that:
- JavaScript is not the only client-side scripting language that can be used for implementing an Ajax application. Other languages such as VBScript are also capable of the required functionality.[3]
- XML is not required for data interchange and therefore XSLT is not required for the manipulation of data. JavaScript Object Notation (JSON) is often used as an alternative format for data interchange,[8] although other formats such as preformatted HTML or plain text can also be used.[9]