Ajax allows for asynchronous JavaScript and XML HTTP requests to be performed in the background to update parts of a web page without reloading. It uses JavaScript, XML, HTML, and CSS. JavaScript communicates directly with servers through the XMLHttpRequest object to asynchronously send and receive data from a server and update portions of a page without reloading. Key properties and methods like onreadystatechange, readyState, responseText, open(), and send() allow JavaScript to asynchronously communicate with servers and update pages.