CITATION

Powell, Thomas. Ajax: The Complete Reference. US: McGraw-Hill Osborne Media, 2008.

Ajax: The Complete Reference

Authors:

Published:  February 2008

eISBN: 9780071596626 0071596623 | ISBN: 9780071492164
  • Contents
  • Acknowledgments
  • Introduction
  • Part I: Core Ideas
  • 1 Introduction to Ajax
  • Ajax Defined
  • Hello Ajax World
  • The Rise of Ajax
  • Summary
  • 2 Pre-Ajax JavaScript Communications Techniques
  • One-way Communication
  • Two-way Communications
  • Communications Pattern Review
  • Example Applications
  • Summary
  • 3 XMLHttpRequest Object
  • Overview of XHRs
  • Instantiation and Cross-Browser Concerns
  • XHR Request Basics
  • Synchronous Requests
  • Asynchronous Requests
  • Sending Data via GET
  • Sending Data via Post
  • Other HTTP Requests
  • Response Basics
  • Controlling Requests
  • Authentication with XHRs
  • Propriety and Emerging XHR Features
  • XHR Implications and Challenges
  • Summary
  • 4 Data Formats
  • Ajax and Character Sets
  • Data Format Decisions
  • Standard Encoding: x-www-form-urlencoded
  • Using Other Input Formats
  • File Attachments
  • Response Formats
  • Binary Responses
  • Summary
  • Part II: Applied Ajax
  • 5 Developing an Ajax Library
  • Not Another Ajax Library!
  • AjaxTCR Library Overview
  • AjaxTCR Library Utility Functions
  • AjaxTCR Library Basic Features Summary
  • Beyond the AjaxTCR Library
  • Introduction to YUI
  • Introduction to Prototype
  • Introduction to jQuery
  • Other Libraries: Dojo and Beyond
  • Summary
  • 6 Networking Considerations
  • What Could Go Wrong?
  • Timeouts
  • Retries
  • Handling Server Errors
  • Handling Content Errors
  • Dealing with Multiple Requests
  • Request Queues
  • Order Is Not Guaranteed
  • Are Race Conditions Possible?
  • Ensuring Communication Robustness
  • Improving Ajax Performance
  • Caching
  • Precaching
  • Get the Balance Right
  • There’s Always More
  • Summary
  • 7 Security Concerns
  • The Web Attack Surfaces
  • Web Application Reconnaissance Review
  • Ajax Security Differences
  • JavaScript Security
  • JavaScript’s Security Policy
  • Same-Origin Policy
  • Trusted External Scripts
  • Ajax and Authentication
  • Cross-Site Scripting
  • History Exposure: The Start of a Hack
  • Cross Site Request Forgery (CSRF)
  • Ajax Payload Protection
  • Web Services and Ajax: Security’s Pandora’s Box
  • Summary
  • 8 User Interface Design for Ajax
  • The User Interface Implications of Ajax
  • Communicating Network Activity
  • Communicating Problems and Errors
  • Communicating Change
  • To-Do List Introduction: Delete, Confirm, and Transition
  • Patterns of Immediacy
  • Click-to-Edit List
  • Drag-and-Drop
  • The Real Power: Data on Demand
  • What About…?
  • Putting Things Together
  • Accessibility
  • Summary
  • 9 Site and Application Architecture with Ajax
  • Adding Ajax
  • In-Page Ajax
  • Rating Refactored
  • Enabling Alternate Transports
  • Automatic Communication Fallback
  • Degrading Not Enhancing
  • Leveraging Templates
  • Client-Side Templates
  • Wrapping the Widget
  • Full-Site Ajax
  • A Full Example: To-Do List
  • Coupled or Decoupled Architecture
  • Architectural Final Analysis
  • Summary
  • Part III: Advanced Topics
  • 10 Web Services and Beyond
  • Ajax and Web Services
  • SOAP: All Washed Up?
  • Screen Scraping
  • Sampling Public Services
  • Mash-ups
  • Comet
  • Going Offline
  • Emerging Offline Possibilities with Firefox 3
  • Summary
  • Part IV: Appendixes
  • A: JavaScript Quick Reference
  • Language Fundamentals
  • JavaScript Inclusion Methods
  • Data Types
  • Identifiers
  • Reserved Words
  • Variables
  • Operators
  • Statements and Blocks
  • Conditional Statements
  • Loops
  • Object Iteration
  • JavaScript 1.7’s Generators and Iterators
  • Functions
  • The with Statement
  • Exceptions
  • Regular Expressions
  • Comments
  • B: HTTP 1.1 Reference
  • HTTP Requests
  • HTTP Responses
  • MIME
  • C: AjaxTCR Library Reference
  • Coding Conventions Used
  • AjaxTCR.comm
  • AjaxTCR.comm.cache
  • AjaxTCR.comm.cookie
  • AjaxTCR.comm.stats
  • AjaxTCR.data
  • AjaxTCR.history
  • AjaxTCR.storage
  • AjaxTCR.template
  • AjaxTCR.util.DOM
  • AjaxTCR.util.event
  • AjaxTCR.util.misc
  • Index