Ajax for Web Application Developers, 1st edition

  • Kris Hadlock


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 

Table of contents


            An Introduction to the Book Samples

I: Getting Started

    1    Introduction to Ajax

            The XML DOM

            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


Published by Sams Publishing (October 30th 2006) - Copyright © 2007