Home > Store

AJAX: Creating Web Pages with Asynchronous JavaScript and XML

Register your product to gain access to bonus material or receive a coupon.

AJAX: Creating Web Pages with Asynchronous JavaScript and XML


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2007
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-227267-9
  • ISBN-13: 978-0-13-227267-4

The Easy, Example-Based Guide to Ajax for Every Web Developer

Using Ajax, you can build Web applications with the sophistication and usability of traditional desktop

applications and you can do it using standards and open source software. Now, for the first time,

there's an easy, example-driven guide to Ajax for every Web and open source developer, regardless of


Edmond Woychowsky begins with simple techniques involving only HTML and basic JavaScript. Then,

one step at a time, he introduces techniques for building increasingly rich applications. Don't worry if

you're not an expert on Ajax's underlying technologies; Woychowsky offers refreshers on them, from

JavaScript to the XMLHttpRequest object. You'll also find multiple open source technologies and open

standards throughout, ranging from Firefox to Ruby and MySQL.

You'll not only learn how to write "functional" code, but also master design patterns for writing rocksolid,

high-performance Ajax applications. You'll also learn how to use frameworks such as Ruby on

Rails to get the job done fast.

  • Learn how Ajax works, how it evolved, and what it's good for
  • Understand the flow of processing in Ajax applications
  • Build Ajax applications with XML and the XMLHttpRequest object
  • Integrate back-end code, from PHP to C#
  • Use XSLT and XPath, including XPath Axis
  • Develop client-side Ajax libraries to support code reuse
  • Streamline development with Ruby on Rails and the Ruby programming language
  • Use the cross-browser HTML DOM to update parts of a page
  • Discover the best Ajax Web resources, including Ajax-capable JavaScript libraries

Sample Content

Online Sample Chapter

Introducing Ajax

Downloadable Sample Chapter

Download the Sample Chapter from this book.


The purpose of the book that you hold in your hands, Ajax: Creating Web Pages with Asynchronous JavaScript and XML, is simply to show you the fundamentals of developing Ajax applications.

What This Book Is About

For the last several years, there has been a quiet revolution taking place in web application development. In fact, it was so quiet that until February 2005, this revolution didn't have a name, even among the revolutionaries themselves. Actually, beyond the odd mention of phrases such as XMLHttpRequest object, XML, or SOAP, developers didn't really talk about it much at all, probably out of some fear of being burned for meddling in unnatural forces. But now that the cat is out of the bag, there is no reason not to show how Ajax works.

Because I am a member of the "we learn by doing" cult (no Kool Aid required), you'll find more code examples than you can shake a stick at. So this is the book for those people who enjoyed the labs more than the lectures. If enjoyed is the wrong word, feel free to substitute the words "learned more from."

Until around 2005, the "we learn by doing" group of developers was obscured by the belief that a piece of paper called a certification meant more than hands-on knowledge. I suppose that, in a way, it did. Unfortunately, when jobs became fewer and farther between, developers began to collect certifications the way that Imelda Marcos collected shoes. Encyclopedic knowledge might have helped in getting interviews and subsequent jobs, but it really didn't help very much in keeping those jobs. However, now that the pendulum has begun to swing in the other direction, it is starting to become more important to actually know a subject than to be certified in it. This leads to the question of "Why learn Ajax?"

The answer to that question can be either short and sweet or as rich and varied as the concept of Ajax itself. Let's start with the first answer because it looks good on the resumé. We all know that when something looks good on the resumé, it helps to keep us in the manner in which we have become accustomed, living indoors and eating regularly. Couple this with the knowledge of actually having hands-on knowledge, and the odds of keeping the job are greatly increased.

The rich and varied answer is that, to parrot half of the people writing about web development trends, Ajax is the wave of the future. Of course, this leads to the statement, "I heard the same thing about DHTML, and nobody has talked about that for five years." Yes, some of the same things were said about DHTML, but this time it is different.

The difference is that, this time, the technology has evolved naturally instead of being sprung upon the world just so developers could play buzzword bingo with their resumés. This time, there are actual working examples beyond the pixie dust following our mouse pointers around. This time, the companies using these techniques are real companies, with histories extending beyond last Thursday. This time, things are done with a reason beyond the "it's cool" factor.

What You Need to Know Before Reading This Book

This book assumes a basic understanding of web-development techniques beyond the WYSIWYG drag and drop that is the current standard. It isn't necessary to have hand-coded HTML; it is only necessary to know that HTML exists. This book will hopefully fill in the gaps so that the basics of what goes where can be performed.

Beyond my disdain for the drag-and-drop method of web development, there is a logical reason for the need to know something about HTML—basically, we're going to be modifying the HTML document after it is loaded in the browser. Nothing really outrageous will be done to the document—merely taking elements out, putting elements in, and modifying elements in place.

For those unfamiliar with JavaScript, it isn't a problem; I've taken care to explain it in some depth because there is nothing worse than needing a second book to help understand the first book. Thinking about it now, of course, I missed a wonderful opportunity to write a companion JavaScript volume. Doh!

If you're unfamiliar with XML, don't be put off by the fact that Ajax is short hand Asynchronous JavaScript and XML because what you need to know is in here, too. The same is also true of XSLT, which is a language used to transform XML into other forms. Think of Hogwarts, and you get the concept.

In this book, the evolution (or, if you prefer, intelligent design) of Ajax is described from the beginning of web development through the Dynamic HTML, right up to Asynchronous JavaScript and XML. Because this book describes a somewhat newer technique of web development, using a recent vintage web browser such as Firefox or Flock is a good idea. You also need an Internet connection.

How This Book Is Laid Out Here is a short summary of this book's chapters:
  • Chapter 1, "Types of Web Pages," provides a basic overview of the various ways that web pages have been coded since the inception of the Web. The history of web development is covered beginning with static web pages through dynamic web pages. In addition, the various technologies used in web development are discussed. The chapter closes with a discussion on browsers and the browser war.
  • Chapter 2, "Introducing Ajax," introduces Ajax with an account of what happened when I demonstrated my first Ajax application. The concepts behind Ajax are described and then are introduced in a step-by-step manner, from the first primordial Ajax relatives to the current evolution.
  • Chapter 3, "HTML/XHTML," describes some of the unmentioned basic building blocks of Ajax, HTML/XHTML, and Cascading Style Sheets.
  • Chapter 4, "JavaScript," serves as an overview of JavaScript, including data types, variables, and operators. Also covered are flow-control statements, recursive functions, constructors, and event handlers.
  • Chapter 5, "Ajax Using HTML and JavaScript," describes one of the earlier ancestors of Ajax. Essentially, this is how to fake it using stone knives and bear skins. Although the technique described is somewhat old-fashioned, it demonstrates, to a degree, how processing flows in an Ajax application. In addition, the "dark art" of communicating information between frames is covered. Additionally, in an effort to appease those who believe that this is all old hat, the subject of stored procedures in MySQL is covered.
  • Chapter 6, "XML," covers XML, particularly the parts that come into play when dealing with Ajax. Elements, attributes and entities, oh my; the various means of describing content, Document Type Definitions, and Schema are covered. Also included are cross-browser XML data islands.
  • Chapter 7, "XMLHttpRequest," dissects the XMLHttpRequest object by describing its various properties and methods. Interested in making it synchronous instead of asynchronous? You'll find the answer in this chapter. In addition, both web services and SOAP are discussed in this chapter.
  • Chapter 8, "Ajax Using XML and XMLHttpRequest," covers what some might consider pure Ajax, with special attention paid to the XMLHttpRequest object that makes the whole thing work. Additionally, various back ends are


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership