Ajax for Web Application Developers

( 2 )


Reusable components and patterns for Ajax-driven applications

Ajax is one of the latest and greatest ways to improve users’ online experience and create new and innovative web functionality. By allowing specific parts of a web page to be displayed without refreshing the entire page, Ajax significantly enhances the experience of web applications. It also lets web developers create intuitive and innovative interaction processes.

Ajax for Web ...

See more details below
BN.com price
(Save 15%)$44.99 List Price
Other sellers (Paperback)
  • All (15) from $1.99   
  • New (6) from $8.50   
  • Used (9) from $1.99   
Ajax for Web Application Developers

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 44%)$27.99 List Price


Reusable components and patterns for Ajax-driven applications

Ajax is one of the latest and greatest ways to improve users’ online experience and create new and innovative web functionality. By allowing specific parts of a web page to be displayed without refreshing the entire page, Ajax significantly enhances the experience of web applications. It also lets web developers create intuitive and innovative interaction processes.

Ajax for Web Application Developers provides the in-depth working knowledge of Ajax that web developers need to take their web applications to the next level. The book shows how to create an Ajax-driven web application from an object-oriented perspective, and it includes discussion of several useful Ajax design patterns.

This detailed guide covers the creation of connections to a MySQL database with PHP 5 via a custom Ajax engine and shows how to gracefully format the response with CSS, JavaScript, and XHTML while keeping the data tightly secure. It also covers the use of four custom Ajax-enabled components in an application and how to create each of them from scratch.

The final section of the book combines the individual code examples and techniques from earlier chapters of the book into one larger, Ajax-driven application—an internal web mail application that can be used in any user-based application, such as a community-based web application. Readers will learn not only how to create and use their own reusable Ajax components in this application

but also how to connect their components to any future Ajax applications that they might build.

Web Development/Ajax/JavaScript

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Suddenly, hundreds of enterprises are doing serious work with Ajax. Now, Kris Hadlock has written a web application developer's guide to Ajax that reflects all this experience.

You may have seen Hadlock's cover story on Ajax in .NET magazine. That was just a taste. In this book, he offers a comprehensive Ajax tutorial built around the construction of a full-fledged application from start to finish

You'll start by plumbing the inner workings of the XMLHttpRequest object that's central to the way Ajax works. Hadlock then turns to the response, introducing two specific data-interchange formats in which it can be received: XML and JSON. Part I concludes with a primer on displaying data with CSS and (X)HTML.

Hadlock walks through creating, using, debugging, and extending the Ajax JavaScript engine, then presents an in-depth treatment of creating reusable components. There are four chapter-length case study examples, including tree views, client-side validation, and data grids. The fourth: "Accordion," expands or collapses a web page to show only the data users are interested in. It's a classic example of the "desktop-like" richness Ajax brings to web development.

Next, Hadlock codifies a series of best-practice design patterns for Ajax development. If you're familiar with patterns, some of their names will sound familiar: singleton and observer, for example. There's a full chapter on using Model View Controller with Ajax; as well as chapters on patterns for multi-user applications, interaction, and usability. There's a full section on server-side database interaction -- and, as you might hope, a chapter on security, too. Now that Ajax is no longer a toy, this book will help you build the industrial-strength applications your clients now demand. Bill Camarda, from the December 2006 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9780672329128
  • Publisher: Sams
  • Publication date: 11/13/2006
  • Series: Developer's Library Series
  • Pages: 271
  • Product dimensions: 7.00 (w) x 9.00 (h) x 0.60 (d)

Meet the Author

Kris Hadlock has been a contract web developer and designer since 1996. He is a featured columnist and writer for InformIT and numerous web design magazines. He is also the founder of Studio Sedition, a web application development firm, and is the cofounder of 33Inc, the company responsible for DashboardHQ. He maintains a blog called Designing with Code, which focuses on web application development from a design perspective and often features useful code snippets to help enhance web applications.You can find all of the above and more about Kris on his website at www.krishadlock.com.

Read More Show Less

Table of Contents


An Introduction to the Book Samples

I: Getting Started

1 Introduction to Ajax


Measuring the Benefits

2 The Request

An In-Depth Look at XMLHttpRequest

A Standard XHR

A Database-Enabled XHR

Sending Data to a Database-Enabled XHR

Creating the Object

Asynchronous Data Transfers

The Ready State

HTTP Status Codes and Headers

3 The Response





Parsing XML


The Syntax

Using JSON

Parsing JSON

4 Rendering the Response with XHTML and CSS



II: Creating and Using the JavaScript Engine

5 Object-Oriented JavaScript

Object-Oriented Approaches

Using the new Operator

Literal Notation

Associative Arrays


Object Constructors






Creating Properties

Overriding and Overwriting Properties

Property Protection


Extending Objects with Prototyped Methods

6 Creating the Engine

Creating a Custom Ajax Wrapper

Making Requests

The Ready State

The Response

Creating an Ajax Updater

Constructing the Object

Updating the Request Object

The Response

7 Using the Engine

Getting Started

Making a Request

Engine Methods and Properties

8 Debugging

The JavaScript onerror Event


IE Developer Toolbar

Installing the Plug-in

Disabling the Cache

Navigating the DOM

Viewing Class and ID Information

Safari Enhancer

Installing Safari Enhancer

The JavaScript Console


Installing FireBug

The Command Line

Logging Messages in the Console

Levels of Logging

Inspecting Elements

Spying on Ajax

9 Extending the Engine

Creating a Utilities Object

Handling Status Codes with an HTTP Object

HTTP Status Code Categories

Using the HTTP Object

III: Creating Reusable Components

10 Accordion

Getting Started

The XML Architecture

Requesting the XML

Creating the Accordion Object

Panel Functionality and Data Display

Creating the CSS

11 Tree View

Structuring the Data

Handling the Response

Rendering the GUI

Adding Style to the Component

12 Client-Side Validation

Getting Started

Creating a Validation Object

Validating User Input

Providing Visual Feedback

The Server Side

The Constructor

Verifying User Information

Registering and Logging In a User

13 Data Grid

Getting Started

Creating a DataGrid Object

Displaying the Data

Creating a DataRow Object

Creating a DataColumn Object

Adding Design to the Component

IV: AJAX Patterns

14 Singleton Pattern

An Overview of the Singleton Pattern

Creating an Object Using the Singleton Pattern

Using the Singleton Object

15 Model View Controller

An Overview of the Pattern

Creating the Pattern

Using the Pattern

16 The Observer Pattern

Pattern Overview

Register Observers Overview

Notify Observers Overview

Unregister Observers Overview

Creating an Error-Handling Object

Register Observers

Notify Observers

Unregister Observers

Using the Error-Handling Object

17 Data Reflection Pattern

An Overview

The Multi-User Pattern

Creating the Pattern

18 Interaction Patterns

Creating a History with Cookies

The Historian Object

Creating and Displaying the XML

The Navigation Object

Drag and Drop

The DragDrop Object

19 Usability Patterns

Handling Feedback, Errors, and Warnings

Designing with Code

V: Server-Side Interaction

20 Understanding Ajax Database Interaction

Connecting with PHP

Bridging the Gap

Making the Requests

Making the Connection

21 Interacting with a Database: The Server-Side

Connecting to ASP.NET

Connecting to ColdFusion

22 Advanced Ajax Database Interaction

Bulk Updates

Sending Arrays

Sending XML

Sending JSON

Server-Side XML and JSON



VI: Finishing Touches

23 Securing Your Application

Security Holes

Password-Protecting Ajax Requests

Creating Unique Passwords

Verifying Passwords on the Server-Side

24 Best Practices

Using the Engine

Design Patterns

Using Components

Static Versus Dynamic Responses

Error and Feedback Handling

Application History


0672329123, TOC, 9/25/2006

Read More Show Less

Customer Reviews

Average Rating 4
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Posted March 13, 2009

    I Also Recommend:

    Ground Zero of Ajax

    Ajax is a jungle now. When yourAjax , myAjax , net/Ajax etc, are trying to give you a run around in the name of simplicity; this book reminds you that if you are good with keeping track of your codes, it will be a bypass or double bypass of these meshes. This book will render a confidence that Ajax is not an invisible GHOST, simply a block that can autonomously apprehended without reloading a whole webpage. My choices of programming are C++ and Java, like to see a complete layout without any gimicks. This book is one that kind; although it was published in 2006, worth of staying in your library. You may like to read other book like " Building Dynamic Ajax Applications Using WebShere for Web 2.0" and " Advance Ajax" by Shawn M. Lauriat.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 30, 2006

    easier coding style

    With all the recent buzz (hype) about Ajax, Hadlock goes back to first principles. He shows that it all centres about the XMLHttpRequest object, which he thankfully elides to XHR. This lets a web page get data from the web server, or post data to it, in the form of a background command. Crucially, it does not need the browser to be refreshed. Basically, it can be seen as a loophole, through which the entire Ajax methodology has emerged. The book explains that XHR gives rise to a programming 'style' that is quite different from traditional http coding. As though you are writing a standard application that runs locally. For many programmers, this may have been how you started programming anyway. Plus, http coding has always had a certain stilted awkwardness about it. The coding narrative of the book might seem more natural and easier. One benefit to the programmer is increased productivity. You should be able to code more functionality, and have fewer bugs.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)