- 1-Introducing AJAX
- 1.1. Life Before AJAX
- 1.2. What, Why and How of AJAX
- 1.3. Overview of DOM
- 1.4. Your first AJAX application
- 2-JavaScript Basics
- 2.1. Adding JavaScript to HTML
- 2.2. Data types, Operators, Control Structures
- 2.3. Functions, Methods, and Events
- 2.4. Throw, Try...Catch Exceptions
- 2.5. Objects
- 2.6. Browser Object Model, Document Object Model
- 2.7. Regular Expressions
- 2.8. Client-side Validation
- 3-Advanced JavaScript
- 3.1. Interactive Forms and Verifying Form Data
- 3.2. Targeting Frames and Windows with JavaScript
- 3.3. Cookies and JavaScript Security
- 3.4. Custom JavaScript Objects
- 3.5. Prototype and Object Inheritance
- 3.6. Closures in JavaScript
- 3.7. Debugging JavaScript
- 3.8. CSS Basics
- 4-Basic AJAX Techniques
- 4.1. XMLHttpRequest
- 4.2. Browser Compatibility
- 4.3. Asynchronous Invocation
- 4.4. Handling XML
- 4.5. DOM APIs: Nodes, Methods
- 4.6. InnerHTML
- 4.7. A Complete AJAX Example
- 5-Data Formats for AJAX
- 5.1. XML, the Benefits
- 5.2. SOA: XML is Everywhere
- 5.3. XML Shortcomings
- 5.4. JSON Data Types
- 5.5. JSON Strings, Numbers, Arrays
- 5.6. JSON Objects
- 5.7. JSON and JavaScript
- 6-The Prototype Toolkit
- 6.1. Shortcut Functions
- 6.2. String Utilities
- 6.3. Collections
- 6.4. Ajax Objects: Request, Updater, PeriodicUpdater
- 7-The YUI Toolkit
- 7.1. Using YUI
- 7.2. Head first YUI Example
- 7.3. Event Utility
- 7.4. Element Utility
- 7.5. Widgets: Buttons, Menu, Forms
- 7.6. Connection Manager
- 7.7. The YUI Compressor
- 8- The Dojo Toolkit
- 8.1. Dojo Overview
- 8.2. Dojo Event Model
- 8.3. Dijits
- 8.3.1. Form Widgets
- 8.3.2. Control Widgets
- 8.3.3. Layout Widgets
- 8.4. XHR Handlers
- 8.5. Dojo and JSON
- 8.6. Dojo Data Stores
- 9-Server-Side AJAX Frameworks
- 9.1. Serving AJAX Content from the Server
- 9.2. Redistributing MVC Across the Tiers
- 9.3. Popular Server-side AJAX frameworks
- 10-Web Protocols for AJAX
- 10.1.Web services and SOA
- 10.2.REST: A lightweight Web service solution
- 10.3.Introducing Comet
- 10.3.1. Comet: Streaming and Long Polling
- 10.4.The Bayeux protocol
- 10.4.1. Bayeux protocol handshake, events
- 10.4.2. Bayeux connection and subscription
- 10.5.Web feeds
- 10.5.1. RSS
- 10.5.2. ATOM
- 11-JSON-RPC for Java
- 11.1.How does JSON-RPC-Java work
- 11.2.JSONRPCBridge and Global bridge
- 11.3.JSONRPCServlet
- 11.4.Type mapping
- 11.5.JavaScript client
- 12-Direct Web Remoting
- 12.1.How does DWR work
- 12.2.Setting up web.xml and dwr.xml
- 12.3.Callback methods
- 12.4.Scripting with generated JavaScript
- 12.5.Integration with servlet, Struts, etc.
- 12.6.Error handling
- 12.7.Security issues with DWR
- 13-Google Web Toolkit (GWT)
- 13.1.How does GWT work?
- 13.2.GWT compiler
- 13.3.Hosted and Web Modes
- 13.4.Client-side and Server-side code
- 13.5.Modules
- 13.6.Building user interfaces with GWT
- 13.7.Remote Procedure Call in GWT
- 14-AJAX Security
- 14.1.The Browser Sandbox
- 14.2.The Vulnerabilities
- 14.3.Javascript Injections: XSS, CSRF
- 14.4.SQL Injections
- 14.5.Client-side v.s. Server-side Validation
- 14.6.Tips and Best practices
- 15-Advanced Concepts
- 15.1.Design Patterns and Anti-patterns
- 15.2.Best Practices
- 15.3.AJAX and SOA
- 15.4.Case Studies
- 15.5.Performance optimization
|