AJAX In Action [317]
6.7 Summary
6.8 Resources
Security and Ajax 7.1 JavaScript and browser security 7.1.1 Introducing the �server of origin� policy
7.1.2 Considerations for Ajax
7.1.3 Problems with subdomains
7.1.4 Cross-browser security
7.2 Communicating with remote services 7.2.1 Proxying remote services
7.2.2 Working with web services
7.3 Protecting confidential data 7.3.1 The man in the middle
7.3.2 Using secure HTTP
7.3.3 Encrypting data over plain HTTP using JavaScript
7.4 Policing access to Ajax data streams 7.4.1 Designing a secure web tier
7.4.2 Restricting access to web data
7.5 Summary
7.6 Resources
Performance 8.1 What is performance?
8.2 JavaScript execution speed 8.2.1 Timing your application the hard way
8.2.2 Using the Venkman profiler
8.2.3 Optimizing execution speed for Ajax
8.3 JavaScript memory footprint 8.3.1 Avoiding memory leaks
8.3.2 Special considerations for Ajax
8.4 Designing for performance 8.4.1 Measuring memory footprint
8.4.2 A simple example
8.4.3 Results: how to reduce memory footprint 150-fold
8.5 Summary
8.6 Resources
Ajax by example Dynamic double combo 9.1 A double-combo script 9.1.1 Limitations of a client-side solution
9.1.2 Limitations of a server-side solution
9.1.3 Ajax-based solution
9.2 The client-side architecture 9.2.1 Designing the form
9.2.2 Designing the client/server interactions
9.3 Implementing the server: VB .NET 9.3.1 Defining the XML response format
9.3.2 Writing the server-side code
9.4 Presenting the results 9.4.1 Navigating the XML document
9.4.2 Applying Cascading Style Sheets
9.5 Advanced issues 9.5.1 Allowing multiple-select queries
9.5.2 Moving from a double combo to a triple combo
9.6 Refactoring 9.6.1 New and improved net.ContentLoader
9.6.2 Creating a double-combo component
9.7 Summary
Type-ahead suggest 10.1 Examining type-ahead applications 10.1.1 Common type-ahead suggest features
10.1.2 Google Suggest
10.1.3 The Ajax in Action type-ahead
10.2 The server-side framework: C# 10.2.1 The server and the database
10.2.2 Testing the server-side code
10.3 The client-side framework 10.3.1 The HTML
10.3.2 The JavaScript
10.3.3 Accessing the server
10.4 Adding functionality: multiple elements with different queries
10.5 Refactoring 10.5.1 Day 1: developing the TextSuggest component game plan
10.5.2 Day 2: TextSuggest creation-clean and configurable
10.5.3 Day 3: Ajax enabled
10.5.4 Day 4: handling events
10.5.5 Day 5: the suggestions pop-up UI
10.5.6 Refactor debriefing
10.6 Summary
The enhanced Ajax web portal 11.1 The evolving portal 11.1.1 The classic portal
11.1.2 The rich user interface portal
11.2 The Ajax portal architecture using Java
11.3 The Ajax login 11.3.1 The user table
11.3.2 The server-side login code: Java
11.3.3 The client-side login framework
11.4 Implementing DHTML windows 11.4.1 The portal windows database
11.4.2 The portal window�s server-side code
11.4.3 Adding the JS external library
11.5 Adding Ajax autosave functionality 11.5.1 Adapting the library
11.5.2 Autosaving the information to the database
11.6 Refactoring 11.6.1 Defining the constructor
11.6.2 Adapting the AjaxWindows.js library
11.6.3 Specifying the portal commands
11.6.4 Performing the Ajax processing
11.6.5 Refactoring debrief
11.7 Summary
Live search using XSLT 12.1 Understanding the search techniques 12.1.1 Looking at the classic search
12.1.2 The flaws of the frame and pop-up methods
12.1.3 Examining a live search with Ajax and XSLT
12.1.4 Sending the results back to the client
12.2 The client-side code 12.2.1 Setting up the client
12.2.2 Initiating the process
12.3 The server-side code: PHP 12.3.1 Building the XML document
12.3.2 Building the XSLT document
12.4 Combining the XSLT and XML documents 12.4.1 Working with Microsoft Internet Explorer
12.4.2 Working with Mozilla
12.5 Completing the search 12.5.1 Applying a Cascading Style Sheet
12.5.2