AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server in the background without reloading the entire page. It uses a combination of XMLHttpRequest object, JavaScript, DOM, and XML to retrieve data from the server and update parts of the web page. The XMLHttpRequest object sends and receives data from the server in the background, and JavaScript code can access and use the received data to make changes on the web page via DOM without reloading.