Ajax is not a programming language or a tool, but a concept. Ajax is a client-side script that communicates to and from a server/database without the need for a postback or a complete page refresh.
Ajax is “the method of exchanging data with a server, and updating parts of a web page without reloading the entire page.”
AJAX role in web application
They can use a standard web browser, such as Firefox, Internet Explorer or Safari, as their only user interface.
They don't force the user to wait for the web server every time the user clicks a button. This is what "asynchronous" means. For instance, gmail fetches new email messages in the background ("asynchronously") without forcing the user to wait. This makes an AJAX application respond much more like a "real" application on the user's computer.
Usually they manipulate data in XML format. This allows AJAX applications to interact easily with server-side code written in a variety of languages, such as PHP, Perl/CGI, Python and ASP.NET. Using XML isn't absolutely necessary, and in fact many "AJAX" applications don't they use the XMLHTTPRequest object to send and receive data "on the fly," but they don't actually bother packaging that data as XML.