AJAX sounds perfect right? Well it looks that way, until one considers that most of the mechanism for sending an AJAX request, handling it on the server, returning the XML response and decoding it in the browser needs to be either developed from scratch or at least customized for every application.
Reusable AJAX libraries are just starting to emerge and can reduce the work, but for the most part they still require the application developer to understand a lot of AJAX details.