Asynchronous JavaScript and XML Overview
Rich Internet Application Development
Incorporating AJAX Solutions into Applications
Practical Examples of AJAX and Web 2.0 Style
Understanding the Layered Semantic Architectures
Tooling for AJAX Development
Firefox Plug-ins
Firebug
Debugging JavaScript
DOM Inspector
Event Monitoring
Profiling JavaScript Apps
IE Web Developer Toolbar
Aptana IDE
Advanced and Object-Oriented JavaScript
Creating Objects via Prototypes
Constructor/Prototype Combinations
Object Literals
Encapsulation
Overloading
Closures
OO Best Practices
Utility Libraries
Namespaces
Exception Handling
Asynchronous JavaScript and XML Principles
Introducing the XMLHttpRequest Object
Creating the XHR for any Browser
Sending Requests
Asynchronous Operations
Creating Callback Functions
Monitoring the state of the XHR
Communicating with the Server
Creating a more Robust Solution
Encapsulating Requests
Graceful degradation and Error Handling
An AJAX Utility Library
Automating Requests
Using 3rd Party Libraries
Examining YUI, Prototype, Scriptaculous, Dojo
Object-Oriented Responses
Processing Responses
XML as a response
Using DOM to Manipulate XML Responses
Managing Content Type
Creating HTML
XML to HTML
DOM Building
JavaScript Object Notation (JSON)
eval()
JSON from the Server
Working With AJAX
Dynamic Form Updates
Sending Data to the Server
AJAX POST vs. GET Requests
Handling Delays
Server-side Data Validation Using AJAX
Handling Events
Type-Ahead Suggests
Using Cross-Domain Requests
Cross-Domain Proxies
Dynamic Script Tags
Utilizing RSS and XML Feeds
Appendix A
Working with the DOM and BOM
Accessing Nodes
DOM Traversal
Node Properties
Manipulating the DOM Tree
Dynamically Changing Style Properties
Adding and Removing Classes
Creating Interactions
Browser Object Model (BOM)
Browser Detection Techniques
InnerHTML
Manipulating Styles
Events and DHTML
W3C Event Model
IE Event Model
The Event Object
Event Types
Appendix B
Introducing Prototype JS Library
Appendix C
Introducing Dojo Toolkit