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.






