Ajax for Web Application Developers

Ajax for Web Application Developers

by Kris Hadlock


$40.49 $44.99 Save 10% Current price is $40.49, Original price is $44.99. You Save 10%.
View All Available Formats & Editions
Choose Expedited Shipping at checkout for guaranteed delivery by Thursday, January 30
12 New & Used Starting at $1.99


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

Product Details

ISBN-13: 9780672329128
Publisher: Sams
Publication date: 11/13/2006
Series: Developer's Library Series
Pages: 271
Sales rank: 730,053
Product dimensions: 6.80(w) x 9.00(h) x 0.70(d)

About 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.

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

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Ajax for Web Application Developers 3.7 out of 5 based on 0 ratings. 3 reviews.
steve.clason on LibraryThing More than 1 year ago
Good overview of JavaScript OOP practices, however much of the code seems to ignore browser differences in handling XML, so they should be thought of as generic examples rather than snippets.
manas_frontiersoft More than 1 year ago
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.
Guest More than 1 year ago
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.