Foreword
Credits
Preface
Chapter 1. Ajax Basics
1. Detect Browser Compatibility with the Request Object
2. Use the Request Object to POST Data to the Server
3. Use Your Own Library for XMLHttpRequest
4. Receive Data as XML
5. Get Plain Old Strings
6. Receive Data as a Number
7. Receive Data in JSON Format
8. Handle Request Object Errors
9. Dig into the HTTP Response
10. Generate a Styled Message with a CSS File
11. Generate a Styled User Message on the Fly
Chapter 2. Web Forms
12. Submit Text Field or textarea Values to the Server
Without a Browser Refresh
13. Display Text Field or textarea Values Using Server Data
14. Submit Selection-List Values to the Server Without a Round Trip
15. Dynamically Generate a New Selection List Using Server Data
16. Extend an Existing Selection List
17. Submit Checkbox Values to the Server Without a Round Trip
18. Dynamically Generate a New Checkbox Group with Server Data
19. Populate an Existing Checkbox Group from the Server
20. Change Unordered Lists Using an HTTP Response
21. Submit Hidden Tag Values to a Server Component
Chapter 3. Validation
22. Validate a Text Field or textarea for Blank Fields
23. Validate Email Syntax
24. Validate Unique Usernames
25. Validate Credit Card Numbers
26. Validate Credit Card Security Codes
27. Validate a Postal Code
Chapter 4. Power Hacks for Web Developers
28. Get Access to the Google Maps API
29. Use the Google Maps API Request Object
30. Use Ajax with a Google Maps and Yahoo! Maps Mash-up
31. Display a Weather.com XML Data Feed
32. Use Ajax with a Yahoo! Maps and GeoURL Mash-up
33. Debug Ajax-Generated Tags in Firefox
34. Fetch a Postal Code
35. Create Large, Maintainable Bookmarklets
36. Use Permanent Client-Side Storage for Ajax Applications
37. Control Browser History with iframes
38. Send Cookie Values to a Server Program
39. Use XMLHttpRequest to Scrape an Energy
Price from a Web Page
40. Send an Email with XMLHttpRequest
41. Find the Browser's Locale Information
42. Create an RSS Feed Reader
Chapter 5. Direct Web Remoting (DWR) for Java Jocks
43. Integrate DWR into Your Java Web Application
44. Use DWR to Populate a Selection List from a Java Array
45. Use DWR to Create a Selection List from a Java Map
46. Display the Keys/Values from a Java HashMap on a Web Page
47. Use DWR to Populate an Ordered List from a Java Array
48. Access a Custom Java Object with JavaScript
49. Call a Built-in Java Object from JavaScript Using DWR
Chapter 6. Hack Ajax with the Prototype and Rico Libraries
50. Use Prototype's Ajax Tools with Your Application
51. Update an HTML Element's Content from the Server
52. Create Observers for Web Page Fields
53. Use Rico to Update Several Elements with One Ajax Response
54. Create a Drag-and-Drop Bookstore
Chapter 7. Work with Ajax and Ruby on Rails
55. Install Ruby on Rails
56. Monitor Remote Calls with Rails
57. Make Your JavaScript Available to Rails Applications
58. Dynamically Generate a Selection List in a Rails Template
59. Find Out Whether Ajax Is Calling in the Request
60. Dynamically Generate a Selection List Using Database Data
61. Periodically Make a Remote Call
62. Dynamically View Request Information for XMLHttpRequest
Chapter 8. Savor the script.aculo.us JavaScript Library
63. Integrate script.aculo.us Visual Effects with an Ajax Applicatior
64. Create a Login Box That Shrugs Off Invalid Logins
65. Create an Auto-Complete Field with script.aculo.us
66. Create an In-Place Editor Field
67. Create a Web Form That Disappears When Submitted
Chapter 9. Options and Effiencies
68. Fix the Browser Back Button in Ajax Applications
69. Handle Bookmarks and Back Buttons with RSH
70. Set a Time Limit for the HTTP Request
71. Improve Maintainability, Performance, and Reliability
for Large JavaScript Applications
72. Obfuscate JavaScript and Ajax Code
73. Use a Dynamic script Tag to Make Web Services Requests
74. Configure Apache to Deal with Cross-Domain Issues
75. Run a Search Engine Inside Your Browser
76. Use Declarative Markup Instead of Script via XForms
77. Build a Client-Side Cache
78. Create an Auto-Complete Field
79. Dynamically Display More Information About a Topic
80. Use Strings and Arrays to Dynamically Generate HTML
Index