This is the second Pragmatic Programmers book I've read to have been published as a "beta book." That means that early versions of the text and code were reviewed by lots of readers, and their feedback incorporated into the final version. It shows: this is a very current book which addresses most of the pressing issues around Ajax design and development in language-agnostic ways. There's a chapter that covers some of the current code libraries (like Dojo and Prototype) without playing favorites. The writers write reasonably well. There are some *very* clunky sentences and paragraphs, especially in the last chapter, which feels pretty rushed. And strange continuity mistakes show up in several places, such as references to upcoming material that was actually covered several chapters back. The two consecutive chapters titled "Ajax UI part I" and "Ajax UI part II" feel poorly organized. It's usually a sign an author can't quite figure out how to group material when you get chapters with such vague titles.
It is very much a "primer" like the title says: it's an overview and introduction, not a complete guide to all the complexities of Ajax development (see the book "Ajax in Action" for that). It helpfully covers debugging techniques and degradable design. The Ajax support of server-side web frameworks are compared briefly. The good thing is that it's one of those tech books that you can get a lot out of by reading; you don't need to type in a lot of code to understand these concepts. Just don't expect this to be the only book on your Ajax shelf.
The only section that's really out of place is, oddly, the first chapter. In it, the authors build a lightweight version of Google Maps, the application they rightly point to as generating a lot of initial interest in Ajax. But what they actually build is a very superficial version of Google Maps: theirs has no server-side component other than a set of images in a directory, and much of the time is spent handling the Javascript to allow the user to drag-scroll the map.
It's cute, but that's not sufficient to serve as an example of Ajax. Their map application does not present data from a database, does not use any asynchronous behavior, and does not use the XMLHttpRequest object (or other remoting approach). Even by the authors' own definition of "Ajax" later in the book, this map project ain't it. On its own merits as a DHTML project it's not bad, but it's really out of place. (In fact, the table of contents listed on the publisher's own site suggests it used to be chapter four.) Following it, a short chapter on the basics of Javascript DOM manipulation is also useful, but probably not worth putting at the front of the book (it's also misleadingly titled "Ajax Explained"). If these two chapters were presented as a "DHTML case study Appendix", they'd be just as useful, but less distracting.