Product Overview

Build Your Own AJAX Web Applications

Index

A

abort method, Ajax class, Handling Timeouts
abort method, XMLHttpRequest class, Aborting the Request
abortMove method, Chess class, Aborting the Move on Error
access keys, eBay web services, Access Keys and User Tokens
ACCESS_KEY constant, The Client Class, Initial Setup
accessibility, Accessibility and Backward Compatibility
AJAX and, Testing in Multiple Readers
blog page example, Accessibility and Backward Compatibility
browser Back button fix, Using the Location Hash
“fat-client” code and, Legacy Browsers and Accessibility
further reading, Further Reading
screen reader support, AJAX and Screen Readers, Accessibility and Backward Compatibility
ActiveXObject class, Creating an XMLHttpRequest Object
addNewEntry method, Blog class, Adding a New Entry
Adobe Spry framework, AJAX Toolkits
AJAX
definitions of, Broader AJAX with Edit-in-place
technologies involved, AJAX Technologies
when to use, AJAX and POST Requests, AJAX Fat-client Code, Usability: the Back Button Problem, Asking the Right Question, Debugging Client-side AJAX
Ajax class, Starting our Ajax Class-Hitting the Page
AJAX relays, An AJAX Relay
alert dialogs
Back button problem and, Using Warnings as a Safety Net
screen readers and, Giving an alert, Alerting Users to Page Changes
alignment, vertical, The Piece Class
all-caps, Configuring and Initializing our Application
Amazon ECS, Slide-and-hide Window
(see also single web service search example)
multi web service search, Amazon Web Services
web service response, Amazon
ampersands, Displaying the Results
animations, CSS, Status Notifications
(see also status notification)
Apache2 resources, Further Reading
APIs (application programming interfaces) (see web services)
appendChild method, Displaying the Results, Turning on Editable State, Performing the Slide-and-hide
application busy (see status notification)
application monitoring example, Basic XMLHttpRequest, Example: a Simple AJAX App-Running the App, Planned Application Enhancements-Styling the Monitor
bar graph, The Response Times Bar Graph
cross-site requests and, XMLHttpRequest and Security
enhanced functionality, Planned Application Enhancements-Styling the Monitor
full code, Full Example Code
markup, Planned Application Enhancements, Configuring and Initializing our Application
styling the interface, Styling the Monitor
application-centric protocols, Network-centric vs Application-centric
arrays, The pieceList Array
(see also associative arrays)
Amazon ECS results, Formatting the Results, Amazon
Amazon ECS search phrases, Getting the Search Text
application monitor response times, The Running List in pollArray
search history, Adding to the History
ASIN (Amazon Standard Identification Number), Formatting the Results
associative arrays
chess pieces, The pieceList Array
multi web service search, The init Method, Disabling and Enabling Buttons
SOAP client options, Code for the SOAP Extension
YAML parsing, Parsing YAML in JavaScript
asynchronous flag, Setting Up the Request
asynchronous operation, What Makes AJAX Cool, Sending the Request, The “A” in AJAX
(see also loss of scope)

B

Back button problem, The Back Button Problem-Decisions, Decisions
AJAX usability and, Usability: the Back Button Problem
alternative options, Fixing the Back Button, The init Method, The Back Button Problem, Decisions, Decisions
browser Back button fix, Fixing the Browser Back Button?, Using the Browser’s Back Button-Displaying the Entry
build your own Back button, Replacing the Back Button, Building your own Back Button-Adding the Buttons
BACK_BUTTON constant, The Two Options
background colors
displaying, Displaying the Results
status animation changing, The Status Animation
background property setting, The displayOpacity Method
backUpPos method, Piece class, Making a Backup
backward compatibility, Accessibility and Backward Compatibility
blog page example, Accessibility and Backward Compatibility
multiple web service search, Accessibility and Backward Compatibility
Blog class, The Blog Class
blog page example, Broader AJAX with Edit-in-place-Errors and Timeouts
adding a new entry, Adding a New Entry
contention issues, Changing the State, Enabling and Disabling Other Input
CSS, Page Markup
editing an entry, Editing an Entry
fake back-end page, The Fake Back-end Page
possible enhancements, Future Enhancements
response handling, Handling the Response
returning to the display state, Returning to Display State
saving changes, Saving Changes
status animation, The Status Animation, Stopping the Status Animation
browser Back button fix, Fixing the Browser Back Button?, Using the Browser’s Back Button-Displaying the Entry
coding, The init Method
browser history (see Back Button problem)
browser security (see security)
browser window sizing, Setting Up the Board
browser-specific code, The displayOpacity Method, The getSrcElem Method, Setting Up the Fix, Watching the Hash
BROWSER_BACK constant, Fixing the Back Button, Setting Up the Fix
browsers
non-supporting, Creating an XMLHttpRequest Object, Accessibility and Backward Compatibility, Legacy Browsers and Accessibility, Fallback for Non-JavaScript Browsers, Adding the Buttons
relaying requests, An AJAX Relay
XML content-types, Setting the Correct Content-Type
XMLHttpRequest support, Communication: XMLHttpRequest, Creating an XMLHttpRequest Object
build your own Back button, Replacing the Back Button, Building your own Back Button-Adding the Buttons
coding, The init Method, Building your own Back Button
button creation, dynamic, The toggleButton Method

C

calcColFromPos method, Chess class, Snap-to
calcPosFromCol method, Chess class, The Piece Class
callback functions, Setting Up the Request
(see also loss of scope)
Cancel button, blog page example, Changing the State, Turning on Editable State, Canceling the New Entry
capture, chess game, Error Checking
case-sensitivity
HTTP request methods, Setting Up the Request
string variables, Handling the Server Response
Chess class, The Chess Class
chess game example, AJAX Chess-Future Enhancements
back end, AJAX Chess Back End
displaying the game state, Displaying Game State
error checking, Error Checking
functionality, Problems to Solve
loading a game, Loading a Game
moving pieces, Moving Pieces
polling for the server state, Polling for Server State-Polling for Server State
possible enhancements, Future Enhancements
setting up the board, Setting Up the Board
wiping the board, Wiping the Board
classes, CSS, Starting it Up, Hiding Screen Reader Content
cleanup method, Login class, DOM-element References
cleanup method, Status class, Internet Explorer Memory Leaks
clearInterval function, Running the Animation with doProc, Dealing with Login Failures, Cleaning Up with stopReset, The Slide-and-hide Effect
clearTimeout function, Starting the Process Over Again, Stopping the Application, Saving the Move
Client class, The Client Class
client-side debugging, Debugging Client-side AJAX
client-side validation, Ensuring Valid Input
code branching, Accessibility and Backward Compatibility
color values, Starting the Animation
color-coding, Setting the Login Prompt
communications protocols (see protocols)
concurrency issues, Concurrency and Locking
const keyword, Configuring and Initializing our Application
constants, Configuring and Initializing our Application
constructor functions, JavaScript, Starting our Ajax Class, Organizing the Code, The Piece Class
Content-Type headers
fake back-end code, The Fake Server Page, Printing the Response
multi web service search printing, Printing the Response
proxy scripts, The Proxy Script, XML Results and Content-Type
setting, Setting the Correct Content-Type, Sending Data with POST
setting for POST requests, Sending Data with POST
XHTML and, XML as Markup
cookies, Setting it Up with init, Setting the Values
createElement method, Displaying the Results
createTextNode method, Displaying the Results
cross-browser code, Creating an XMLHttpRequest Object, Setting Up the Board
cross-site requests, Setting Up the Request, Cross-site AJAX, Passing to the Proxy Script
online resources, Cross-site Scripting (XSS)
CSS (Cascading Style Sheets)
application monitor bar graph, Displaying the Results
application monitor interface, Styling the Monitor
pulsing status animation, The Status Animation
transitions, Status Notifications
treatment of element borders, The Piece Class
use with AJAX, Presentation: CSS
CSV (comma separated values) files, CSV Data Format

D

Date objects, JavaScript, Setting it Up with init
debugging, Debugging Client-side AJAX, Going Global
desktop applications
AJAX compared to, AJAX Web Applications
AJAX experience resembling, An Application Login, Drag and Drop with AJAX Chess
DHTML, unobtrusive, Accessibility and Backward Compatibility
disableEnableMainWinInput method, Blog class, Changing the State, Enabling and Disabling Other Input, Cleaning Up with stopReset
display property, CSS, Hiding Screen Reader Content, The init Method
displayGame method, Chess class, The displayGame Method, The Piece Class, Polling for Server State, Wiping the Board
displayOpacity method, Status class, The displayOpacity Method
div elements
fading background effect, The Status Animation
identifying by id elements, The getSrcElem Method
Document Object Model (DOM), W3C Document Object Model
document.all property, The displayOpacity Method
document.onkeyup event, Capturing and Using Keyboard Input, Enabling the Submit Button, Enabling Search
document.write property, Fixing the Browser Back Button?, Setting Up the Fix
doGet method, Ajax class, Wrapping it Up, Sending the Request, Submitting the Search
doGoogleSearch method, Search class, Code for the SOAP Extension, Code for the PEAR SOAP Module
Dojo JavaScript toolkit, Fixing the Browser Back Button?, Using the Browser’s Back Button, AJAX Toolkits
doLookup method, Client class, Initial Setup, Sending the Request to Amazon Web Services
DOM-element references, DOM-element References
domains (see cross-site requests)
doMove method, Chess class, The doMove Method, Error Checking, Aborting the Move on Error, Saving the Move
doPoll method, Chess class, Polling for Server State
doPoll method, Monitor class, Polling the Server
doPollDelay method, Chess class, Polling for Server State
doPollDelay method, Monitor class, Polling the Server
doPost method, Ajax class, Sending Data with POST, Submitting the Form Data, Loading a Game, The handleLoadGame Method
doProc method, Running the Animation with doProc
doReq method, Sending Data with POST
doSave method, Blog class, Turning on Editable State
doSlide method, Client class, The Slide-and-hide Effect
doStatusAnim method, Blog class, Starting the Animation, The doStatusAnim Method
drag-and-drop functionality, DOM Events, Moving Pieces-Saving the Move
Draggable class, chess example, The Draggable Class-Snap-to
drop method, Draggable class, The drop Method, Snap-to
dynamic content
alternatives to AJAX, The Bad Old Days, Degrading the Search Results
notification about, Showing Notifications
screen readers and, Screen Readers

E

e parameter, Capturing and Using Keyboard Input, Editing an Entry
e-commerce, Amazon, Amazon E-Commerce Service
eBay web services
multi web service search, The eBay Platform
web service response, eBay
eBayXMLRPC.php library, The Code
edit-in-place, Edit-in-place-Saving Changes
editInPlaceOff method, Blog class, Returning to Display State
enableScreenReaderFeatures method, The Screen Reader Code, Enabling the Submit Button, Adding Instructions to a Form Element, The init Method, Screen Reader Code
encryption, Submitting the Form Data, A Few Hurdles, Apache2 and OpenSSL on Linux
endProcessing method, Piece class, The handleMove Method
Enter key
checking, Capturing and Using Keyboard Input
keyboard forms submission, Submitting Data without Touching the Mouse, Enabling Search
error handling, Handling the Result with showPoll
chess game moves, Error Checking, Future Enhancements
proxy scripts, An AJAX Relay
saving blog changes, Errors and Timeouts
eval function, JSON, Encoding an Object with JSON
evalFormFieldState method, Capturing and Using Keyboard Input
evalSearchTextState method, Search class, The init Method, Disabling and Enabling Buttons
event dispatch, Going Global
event handlers
asynchronous, Sending the Request
complex user interfaces, Global Event Handlers
this keyword and, Sending the Request
example apps
application monitoring example, Example: a Simple AJAX App-Running the App, Planned Application Enhancements-Styling the Monitor
blog page example, Broader AJAX with Edit-in-place-Errors and Timeouts
chess game example, AJAX Chess-Future Enhancements
login page example, AJAX and POST Requests-Dealing with Login Failures
multi web service search, The Search Application-Decisions, Decisions
single web service search, Slide-and-hide Window-The Slide-and-hide Effect
execution context, Sending the Request

F

fading color effect, The Status Animation
fake server pages, The Fake Server Page, Printing the Response
fallback mechanisms, An AJAX Relay
“fat-client” code, AJAX Fat-client Code
Firefox browser XMLHttpRequest implementation, Creating an XMLHttpRequest Object
float property, CSS, Displaying the Results, Example: a Two-column Web Form
focus, form fields, Setting it Up with init
form element instructions, Adding Instructions to a Form Element
formData2QueryString library, Using formData2QueryString
blog page example, Saving Changes
login form example, Markup and CSS, Submitting the Form Data
forms validation, Ensuring Valid Input
Forward buttons, Adding to the History
(see also Back Button problem)
framesets, nested, Nesting Framesets
further reading (see resources)

G

GameState class, chess example, The handleLoadGame Method
GET requests
caching by IE, Laying the Foundations, Sending the Request to Amazon Web Services
Google search page, Google Search Example
getElementsByTagName method, Getting the resultElements XML
getSearchItem method, Client class, Sending the Request to Amazon Web Services, Getting the Search Text
getSrcElem method, Blog class, The getSrcElem Method
getSrcElemId method, Chess class, Handling Mouse Clicks
global constants, Configuring and Initializing our Application
global event handlers, Global Event Handlers-Handling Mouse Clicks
global variables, Laying the Foundations
goBack method, SearchHistory class, Navigating the History
Google Maps, Broader AJAX with Edit-in-place, Cross-site AJAX, Mashups
Google search page, Google Search Example
Google web service APIs, Google Web APIs, Google
graceful degradation, Creating an XMLHttpRequest Object, Accessibility and Backward Compatibility, Degrading the Search Results, Accessibility and Backward Compatibility

H

handleErr property, XMLHttpRequest object, Error Handler
handleLoadGame method, Chess class, The handleLoadGame Method, Polling for Server State
handleLoginResp method, Handling the Server Response
handleMove method, Chess class, The handleMove Method
handlePoll method, Chess class, Polling for Server State
handleResp method
Client class, Handling the Results from Amazon, Formatting the Results
Search class, Handling the Results, Screen Reader Code, Alerting Users to Page Changes, Adding to the History
handleSave method, Blog class, Handling the Response
handleTimeout method, Polling the Server, Handling Timeouts
handleWipeBoard method, Chess class, Wiping the Board
hash, web addresses, Using the Browser’s Back Button, Setting the Hash
hidden iframes, The Hidden iframe, Basic XMLHttpRequest, Broader AJAX with Edit-in-place, The iframe Hack for IE
history menu, multi web service search, History Menu
HTML and AJAX, Laying the Foundations
HTTP, Setting Up the Request
(see also GET requests)
(see also POST requests)
case-sensitivity of requests, Setting Up the Request
proxy scripts and, An AJAX Relay
REST protocol and, APIs and Protocols
status codes, Processing the Response
HTTP_Request module, The Proxy Script, Requirements, Amazon Web Services
hyphens, The Draggable Class

I

IBM Home Page Reader, Testing in Multiple Readers, Enabling the Submit Button
id attributes
dangers of changing, The Placeholder ID
global event handlers, Going Global
locating div elements, The getSrcElem Method
If-Modified-Since headers, Laying the Foundations
iframe elements, XML as Markup, Fixing the Browser Back Button?, Setting Up the Fix
hidden iframes, The Hidden iframe, Basic XMLHttpRequest, Broader AJAX with Edit-in-place, The iframe Hack for IE
IIS web servers, The Fake Server Page
images, positioning, Formatting the Results
inheritance model, JavaScript, JavaScript’s Object Model
init methods
Ajax class, Creating an XMLHttpRequest Object
Blog class, The init Method, Edit-in-place
Chess class, Starting the Application
Client class, Initial Setup
Login class, Setting it Up with init, The Screen Reader Code
Monitor class, Configuring and Initializing our Application
Search class, The init Method, Setting Up the Fix
XMLHttpRequest object, Creating an XMLHttpRequest Object
innerHTML property
blog page example, Turning on Editable State, Returning to Display State
DOM method alternative, DOM Manipulation Methods, Handling the Result with showPoll
multi web service search, Getting the resultElements XML, Displaying the Results
single web service search, Formatting the Results
when to use, Submitting the Search, Getting the resultElements XML
insertBefore method, Blog class, Adding the New Entry divs
insertEntryDiv method, Blog class, Adding a New Entry, Adding the New Entry divs
Internet Explorer
browser Back button fix, Setting Up the Fix, The iframe Hack for IE
event handling, Editing an Entry, Handling Mouse Clicks
GET request caching, Laying the Foundations, Sending the Request to Amazon Web Services
IBM Home Page Reader and, Testing in Multiple Readers
memory leaks, Internet Explorer Memory Leaks, DOM-element References
opacity setting, The displayOpacity Method

J

JavaScript
Date objects, Setting it Up with init
debugging tools, Debugging Client-side AJAX
DOM API, DOM Manipulation Methods
hyphen conversion, The Draggable Class
object creation, Starting our Ajax Class, Decoding JSON Strings, The Piece Class
object model, JavaScript’s Object Model
objects from XML, Example XML Document, Amazon
role in AJAX, Putting it All Together: JavaScript
screen readers and, Notification for Dynamic Content
separating code from markup, Full Example Code
toolkits, Fixing the Browser Back Button?, Using the Browser’s Back Button, AJAX Toolkits
users without, Setting it Up with init, Fallback for Non-JavaScript Browsers, Adding the Buttons
YAML parsing in, Parsing YAML in JavaScript
JAWS screen reader, Testing in Multiple Readers
JSON (JavaScript Object Notation), Example Object, Using JSON-Displaying Game State, Saving the Move
JSON-RPC protocol, AJAX Toolkits

K

keyboard operations, Capturing and Using Keyboard Input, Submitting Data without Touching the Mouse
keyCode properties, Capturing and Using Keyboard Input, Enabling Search
keyup method, Login class, Capturing and Using Keyboard Input
keyup method, Search class, Enabling Search

L

libraries, Using formData2QueryString, Fixing the Browser Back Button?
(see also formData2QueryString)
(see also JavaScript, toolkits)
(see also JSON)
(see also SOAP protocol)
(see also XMLParse)
creating, A Simple AJAX Library
eBayXMLRPC.php, The Code
linearization and screen readers, Thinking “Linearly”, Example: a Two-column Web Form
Linux, web server resources, Apache2 and OpenSSL on Linux
loadGame method, Chess class, Loading a Game, Polling for Server State
location hash, Using the Browser’s Back Button, Setting the Hash
location.replace method, Watching the Hash
locking, blog page, Concurrency and Locking
Login class, Creating the Login Class
login page example, AJAX and POST Requests-Dealing with Login Failures
dealing with errors, Dealing with Login Failures
markup and CSS, Markup and CSS
PHP code, Processing the Submission
screen readers and, The Screen Reader Code
security, Submitting the Form Data
loss of scope, Sending the Request, Loss of Scope with setTimeout, The Status Animation, The Blog Class, The Client Class
(see also singleton classes)

M

markup, Using YAML
(see also HTML)
(see also XHTML)
(see also XML)
separating script from, Full Example Code, The init Method
YAML, Using YAML, Parsing YAML in JavaScript
“mashups”, Cross-site AJAX, Mashups
memory leaks, IE, Internet Explorer Memory Leaks, DOM-element References
mimeType property, XMLHttpRequest object, Setting the Correct Content-Type
Monitor class, Organizing the Code, Creating the Monitor Object
(see also application monitoring example)
mouseDownHandler method, Chess class, Handling Mouse Clicks
mouseMoveHandler method, Chess class, The mousemove Handler
mouseUpHandler method, Chess class, The mouseup Handler
Move class, chess game, Saving the Move
move method, Draggable class, The mousemove Handler, The move Method
Mozilla browser XMLHttpRequest implementation, Creating an XMLHttpRequest Object
multi web service search example, The Search Application-Decisions, Decisions
Amazon ECS search, Amazon Web Services
eBay web services, The eBay Platform
formatting results, Handling the Results
Google web service, Google Web APIs
non-supporting browsers, Fallback for Non-JavaScript Browsers, Adding the Buttons
possible enhancements, Search App Enhancements
proxy script test, Testing the Proxy Script
screen readers, Screen Reader Code
search enabling, Enabling Search

N

navigation, Building your own Back Button
(see also Back button problem)
skip navigation links, Skip Navigation Links, Using the Location Hash
network-centric protocols, Network-centric vs Application-centric
New Entry button, blog page example, Changing the State, Enabling and Disabling Other Input, Cleaning Up with stopReset, Adding a New Entry
new keyword, Singletons with JavaScript, Creating the Login Class
non-breaking space characters, Displaying the Results
noResultsCheck method, Search class, Amazon

O

object literal notation, Decoding JSON Strings
object orientation, Starting our Ajax Class, JavaScript’s Object Model, Organizing the Code
onbeforeunload event listener, Using Warnings as a Safety Net
onkeyup event, Capturing and Using Keyboard Input, Enabling the Submit Button, Enabling Search
online resources (see resources)
onreadystate event handler, Aborting the Request
onreadystatechange event handler, Setting Up the onreadystatechange Event Handler, Processing the Response, Response Handler
opacity setting, The displayOpacity Method
open method, XMLHttpRequest class, Setting Up the Request, Sending Data with POST
OpenSSL encryption, Apache2 and OpenSSL on Linux
overrideMimeType method, XMLHttpRequest class, Setting the Correct Content-Type, XML Results and Content-Type

P

page partials, Displaying the Results, Setting the Login Prompt
pagination, Loading Existing Entries, Paging
parse method, JSON, Encoding an Object with JSON, The handleLoadGame Method
parseYamlResult method, Blog class, Parsing YAML in JavaScript
parsing XML, Using xml2ObjArray, Example Object
PEAR repository
HTTP_Request module, The Proxy Script, Requirements
Services_JSON library, Decoding JSON Strings, AJAX Chess Back End
SOAP module, Using a SOAP Library, Code for the PEAR SOAP Module
PHP code
blog-process.php, The Fake Back-end Page, The PHP Code
chess.php, AJAX Chess Back End
login page example, Processing the Submission
Services_JSON and, Decoding JSON Strings
simulating response delays, The Fake Server Page
use within this book, The Fake Server Page
webservices2_proxy.php, The Proxy Script, Initial Setup, Amazon Web Services, Using a SOAP Library, The Code
PHP Extension and Application Repository (see PEAR repository)
Piece class, chess example, The Piece Class
pixel-based positioning, The Piece Class
placeBoard method, Chess class, Setting Up the Board
placeholder IDs, The doStatusAnim Method, Adding a New Entry, Adding the New Entry divs, The Placeholder ID
placeholder pages, The iframe Hack for IE
placePanel method, Chess class, The Status Panel
pollArray property, Monitor class, The Running List in pollArray
polling process, Saving the Move
application monitor example, Configuring and Initializing our Application
chess game example, Starting the Application, Polling for Server State-Polling for Server State
processing animation, The Final Fade
pollServerStart method, Polling the Server, Stopping the Application
pollServerStop method, Stopping the Application
pop method, The Running List in pollArray
pop-up blocking, Error Handler
positioning images, Formatting the Results
positioning pieces, chess game, The Piece Class, Viewport Positions and Board Positions, Snap-to
POST requests, AJAX and POST Requests
formData2QueryString library, Using formData2QueryString
login page example, Submitting the Form Data
SOAP and, Submitting the Search
when to use, Sending Data with POST
XML-RPC and, XML-RPC, Submitting the Search
XMLHttpRequest send method and, Sending the Request
postData property, Sending Data with POST
printResult method, Handling the Result with showPoll, Displaying the Results
processing animations (see status notification)
progressive enhancement, Accessibility and Backward Compatibility, Accessibility and Backward Compatibility
promptInterval property, Showing Processing Status
prompts, editable text, Edit-in-place
properties, adding, Starting our Ajax Class
properties, CSS, The Draggable Class
protocols, APIs and Protocols
(see also HTTP)
network-centric and app-centric, Network-centric vs Application-centric
web services and, APIs and Protocols-Network-centric vs Application-centric, More Web Services and a Back Button
prototype-based inheritance, JavaScript’s Object Model
proxy scripts, An AJAX Relay, Passing to the Proxy Script, The Proxy Script, Testing the Proxy Script
pulsing status animation, The Status Animation

Q

query strings, Review: Sending Data with GET
Amazon searches, Amazon E-Commerce Service
disabling IE GET request caching, Laying the Foundations
formData2QueryString function, Saving Changes

R

readyState property, Setting Up the onreadystatechange Event Handler
Really Simple History toolkit, Using the Browser’s Back Button
REFRESH_INTERVAL constant, Polling for Server State
regular expressions, Capturing and Using Keyboard Input, Parsing YAML in JavaScript, Handling Mouse Clicks
remote scripting, Remote Scripting, Basic XMLHttpRequest
removeChild method, Displaying the Results, Dealing with Login Failures, Turning on Editable State, Returning to Display State
resources on
accessibility, Further Reading
Apache2 and OpenSSL, Further Reading
cross-site scripting, Cross-site Scripting (XSS)
JavaScript toolkits, AJAX Toolkits
“mashups”, Mashups
object orientation, Further Reading
Response class, chess example, The handleLoadGame Method
responseFormat property
Ajax class, Processing the Response, Wrapping it Up
XMLHttpRequest class, Or, the One True Handler
responseText property
XMLHttpRequest object, Processing the Response
responseXML property
XMLHttpRequest object, Processing the Response
REST protocol, REST, Network-centric vs Application-centric, Amazon E-Commerce Service
RGB color values, Starting the Animation

S

Safari browser, Using the Browser’s Back Button
Sandbox, eBay, The Sandbox
Save button, blog page example, Turning on Editable State, Saving Changes
screen readers
AJAX and, AJAX and Screen Readers-Adding Instructions to a Form Element
alerting to page changes, Alerting Users to Page Changes
browser Back button fix, Using the Browser’s Back Button
code features for, The Screen Reader Code
dynamic content and, Screen Readers, Notification for Dynamic Content, Showing Notifications
“fat-client” code and, Legacy Browsers and Accessibility
hiding content, Hiding Screen Reader Content
multi web service search, Screen Reader Code-Alerting Users to Page Changes
onkeyup event, Capturing and Using Keyboard Input
suggested products for testing, Testing in Multiple Readers
script tags, including classes, Example: a Simple Test Page
Search buttons, The init Method, Enabling Search, Handling the Results
Search class, Setting Up the Search Class
search history display, Screen Reader Code
search window, embedded (see multi web service search example) (see single web service search)
SearchHistory class, SearchHistory Class, Displaying the History Entry
security
crossing domains, Setting Up the Request, XMLHttpRequest and Security
eBay web services, A Few Hurdles
login details, Submitting the Form Data
self variable, Sending the Request, Singletons with JavaScript, Polling the Server
(see also loss of scope)
send method, XMLHttpRequest class, Sending the Request
separator characters, Printing the Response
server-side scripting
blog page example, Accessibility and Backward Compatibility
DHTML alternative, Degrading the Search Results
server-side validation, Ensuring Valid Input
service-oriented architecture (SOA), Web Services: an Overview
Services_JSON library, Decoding JSON Strings, AJAX Chess Back End
setAlpha method, Initialization, The displayOpacity Method
setButtonState method, Search class, Disabling and Enabling Buttons
setDisplay method, Starting it Up
setHash method, SearchHistory class, Adding to the History
setInterval function, The Status Animation
browser Back button fix, Setting Up the Fix, Watching the Hash
loss of scope and, Sending the Request, Loss of Scope with setTimeout
processing animations, Showing Processing Status, Starting the Animation
slide-and-hide effect, The Slide-and-hide Effect
setMimeType method, Ajax class, The Fake Server Page
setNewEntryRealId method, Blog class, Cleaning Up with stopReset, The setNewEntryRealId Method
setPrompt method, Login class, Setting it Up with init, Setting the Login Prompt
setRequestHeader method, XMLHttpRequest class, Laying the Foundations
setRequestMethod method, Sending Data with POST
setTimeout function, Loss of Scope with setTimeout, Polling the Server, Performing the Slide-and-hide, Polling for Server State
application monitor example, Starting the Process Over Again
loss of scope and, Sending the Request, Loss of Scope with setTimeout
showErrorPrompt method, Dealing with Login Failures, Showing Notifications
showPoll function, Handling the Result with showPoll
showStatusDots function, Showing Processing Status
showStatusPrompt method, Showing Processing Status
simple monitoring app (see application monitoring example)
single web service search example, Slide-and-hide Window-The Slide-and-hide Effect
formatting results, Formatting the Results
handling results, Handling the Results from Amazon
sending the request, Sending the Request to Amazon Web Services
slide-and-hide process, Performing the Slide-and-hide
singleton classes
Blog class as, The Blog Class
Chess class as, The Chess Class
Client class as, The Client Class
Login class as, Creating the Login Class
Monitor class as, Loss of Scope with setTimeout
Search class as, Setting Up the Search Class
Status class as, Checking your Work In Progress, The Status Animation
site-monitoring application (see application monitoring example)
skip navigation links, Skip Navigation Links, Using the Location Hash
slide-and-hide effect, Slide-and-hide Window, Performing the Slide-and-hide
slideAndHide method, Client class, Performing the Slide-and-hide
snapping into place, Snap-to
SOAP module, PEAR, Using a SOAP Library, Code for the PEAR SOAP Module
SOAP protocol, SOAP, Amazon E-Commerce Service, The Proxy Script
srcElement property, The getSrcElem Method
SSL (Secure Sockets Layer), Submitting the Form Data, A Few Hurdles
stacks, The Running List in pollArray
startDone method, Starting the “Done” Animation with startDone
startHistory method, Search class, Setting Up the Fix
startProc method, Starting it Up
Status class, Checking your Work In Progress, The Status Animation, Setting Up Status
status notification
application monitoring example, The toggleStatusMessage Method, Status Notifications-The Final Fade, Setting the Login Prompt, Submitting the Form Data
blog page example, Saving Changes, The Status Animation-The doStatusAnim Method, Stopping the Status Animation, Timing the ID Change
cursor style change, Saving the Move
dots animation, Showing Processing Status
fading color effect, The Status Animation
importance, The “A” in AJAX, Status Notifications
login page example, Showing Processing Status-Dealing with Login Failures
plain text, Submitting the Search
pulsing animation, The Status Animation, Running the Animation
status property, XMLHttpRequest object, Processing the Response, Response Handler
statusText property, XMLHttpRequest object, Processing the Response
stopPoll method, Monitor class, Handling Timeouts, Stopping the Application
stopProc method, Making it Stop
stopReset method, Blog class, Cleaning Up with stopReset
stringify method, JSON, Encoding an Object with JSON
stub functions, Checking your Work In Progress, Polling the Server
Submit buttons
activating and deactivating, Capturing and Using Keyboard Input, Submitting the Form Data
enabling and disabling, Setting it Up with init, Capturing and Using Keyboard Input, Enabling the Submit Button, Disabling and Enabling Buttons
keyboard alternative, Submitting Data without Touching the Mouse
submitSearch method, Search class, The submitSearch Method
switch statements, Handling the Response

T

table-based layouts, Example: a Two-column Web Form
target property, The getSrcElem Method
text, adding to elements, Displaying the Results
this keyword
adding properties to an object, Starting our Ajax Class
loss of scope, Sending the Request, Loss of Scope with setTimeout, The Status Animation
timeouts
handleTimeout method, Handling Timeouts
proxy scripts and, An AJAX Relay
saving blog changes, Errors and Timeouts
timestamps, Setting it Up with init
timezones, The handleMove Method
title attribute, input elements, Adding Instructions to a Form Element
toggleAppStatus method, Monitor class, Configuring and Initializing our Application, Setting Up the UI, Polling the Server, Stopping the Application
toggleButton method, Monitor class, The toggleButton Method
toggleEditInPlace method, Blog class, Editing an Entry, The getSrcElem Method, Changing the State, Enabling and Disabling Other Input
toggleEnabled method, Login class, Setting it Up with init, Capturing and Using Keyboard Input
toggleStatusMessage method, Monitor class, The toggleStatusMessage Method
toolkits, JavaScript, Fixing the Browser Back Button?, Using the Browser’s Back Button, AJAX Toolkits
transitions, CSS, Status Notifications
try…catch blocks, Setting the Correct Content-Type, Error Handler
typeover text (see edit-in-place)

U

unicode non-breaking spaces, Displaying the Results
unshift method, Array object, The Running List in pollArray
updateHistory method, SearchHistory class, Adding to the History, Setting the Hash
updatePollArray method, Monitor class, The Running List in pollArray
URIs (Universal Resource Identifiers), REST
usability
edit-in-place feature, Broader AJAX with Edit-in-place
“fat-client” code, AJAX Fat-client Code, Usability: the Back Button Problem
user interfaces
AJAX and, The “A” in AJAX
chess game example, AJAX Chess, Problems to Solve
CSS and, Presentation: CSS

V

validation, Ensuring Valid Input, Processing the Submission, Initial Setup

W

W3C (World Wide Web Consortium)
DOM and, W3C Document Object Model
SOAP protocol and, SOAP
Web Accessibility Initiative, Further Reading
WSDL and, WSDL
XHTML and, XML as Markup
wasMoved method, Piece class, Snap-to
Web Accessibility Initiative (WAI), Further Reading
web services, Web Services: an Overview
Amazon commerce, Amazon Web Services Client
multi web service search, The Search Application-Decisions, Decisions
protocols, APIs and Protocols-Network-centric vs Application-centric
single web service search example, Slide-and-hide Window-The Slide-and-hide Effect
window.event property, Capturing and Using Keyboard Input, Editing an Entry, Handling Mouse Clicks
window.onload event, The init Method, Global Event Handlers
Windows
installing HTTP_Request, The Proxy Script
web server resources, Apache2 and OpenSSL on Windows
Wipe Board button, chess example, The Status Panel, Wiping the Board
WSDL (Web Services Description Language), WSDL, Using a SOAP Library, WSDL

X

XHTML
use in AJAX, XML as Markup
W3C resource on, XML as Markup
XHTML 1.0 Strict, XML as Markup
XHTML 1.0 Transitional, Setting Up the Fix
XML
AJAX and, Data Exchange and Markup: XML
Amazon ECS returns, Amazon E-Commerce Service, The Proxy Script, Handling the Results from Amazon
Content-Type headers and, XML Results and Content-Type
deserializing, Using xml2ObjArray
JSON alternative, Using JSON
Sarissa library and, AJAX Toolkits
YAML compared to, Using YAML
XML-RPC protocol, XML-RPC, The Proxy Script, The eBay Platform, The Code
xml2ObjArray method, XMLParse, Using xml2ObjArray, Example XML Document, Example Object, Amazon, Getting the resultElements XML
XMLHttpRequest class, Communication: XMLHttpRequest, Basic XMLHttpRequest-XMLHttpRequest
browsers not supporting, Creating an XMLHttpRequest Object
IE caching, Laying the Foundations, Sending the Request to Amazon Web Services
instantiating an object, Creating an XMLHttpRequest Object
methods and properties, XMLHttpRequest
other data formats, CSV Data Format, Printing the Response
POST request and, Sending Data with POST
readystatechange event, Setting Up the onreadystatechange Event Handler
security and, XMLHttpRequest and Security
XMLParse library, Handling the Results from Amazon, Amazon
XSS (see cross-site requests)

Y

Yahoo! UI Library, AJAX Toolkits
YAML, Using YAML, Parsing YAML in JavaScript

 

About SitePoint

SitePoint specializes in publishing fun, practical and easy-to-understand content for Web professionals. Visit sitepoint.com to access our books, newsletters, articles and community forums.

Special Offer

Buy our AJAX book right now and receive FREE:

  1. Free with this Book Video Tutorial: ‘An Introduction to AJAX’ by Kevin Yank

    (value: $9.95)

That's almost $40 USD worth of value for just $29.95.

This is a limited offer, available only to customers who buy directly from sitepoint.com.

SitePoint Books

  • advocate best practice techniques
  • lead you through practical examples
  • provide working code for your web site
  • make learning easy and fun

100% Money Back Guarantee