Ajax (Asynchronous Javascript and XML) defines the use of multiple technologies, especially Javascript, XmlHttpRequest, DOM (Document Object Model) and XML, to create an interactive web application.
In "normal" web application, when user sends a request, be it by clicking on a link or clicking on a button or any other ways, web server responds to the request by sending a new page back to the user. This can be very inefficient if only a small portion of the page changes as a result of the request.
With Ajax, we can remove this inefficiency by having an XmlHttpRequest object handle user requests in the background, and then dynamically update portions of the website as necessary (as opposed to reloading the whole page) with DOM.