FOUNDATIONS OF AJAX
CONTENTS ICHAPTER INTRODUCING AJAX A SHORT HISTORY OF WEB APPLICATIONS BROWSER HISTORY THE EVOLUTION OF WEB APPLICATIONS CGI APPLETS JAVASCRIPT SERVLETS AND ASPS AND PHP OH MY! FLASH THE DHTML REVOLUTION THE XML DERIVATIVES THE FUNDAMENTAL PROBLEM AJAX THE USABILITY QUESTION THE SKILL SET USAGE DESIGN CONSIDERATIONS SUMMARY ICHAPTER USING THE XMLHTTPREQUEST OBJECT OVERVIEW OF THE XMLHTTPREQUEST OBJECT METHODS AND PROPERTIES AN EXAMPLE INTERACTION GET VS POST REMOTE SCRIPTING OVERVIEW OF REMOTE SCRIPTING A REMOTE SCRIPTING EXAMPLE HOW TO SEND A SIMPLE REQUEST A SIMPLE REQUEST EXAMPLE A WORD ABOUT SECURITY DOM LEVEL 3 LOAD AND SAVE THE DOM COMMUNICATING WITH THE SERVER: SENDING REQUESTS AND PROCESSING RESPONSES PROCESSING THE SERVER RESPONSE USING THE INNERHTML PROPERTY TO CREATE DYNAMIC CONTENT PARSING THE RESPONSE AS XML DYNAMICALLY EDITING PAGE CONTENT WITH THE W3C DOM SENDING REQUEST PARAMETERS SENDING REQUEST PARAMETERS AS XML SENDING DATA TO THE SERVER USING JSON IMPLEMENTING BASIC AJAX TECHNIQUES PERFORMING VALIDATION READING RESPONSE HEADERS DYNAMICALLY LOADING LIST BOXES CREATING AN AUTOREFRESHING PAGE DISPLAYING A PROGRESS BAR CREATING TOOLTIPS DYNAMICALLY UPDATING A WEB PAGE ACCESSING WEB SERVICES PROVIDING AUTOCOMPLETE BUILDING THE ULTIMATE AJAX DEVELOPER’S TOOLBOX DOCUMENTING JAVASCRIPT CODE WITH JSDOC INSTALLATION VALIDATING HTML CONTENT WITH FIREFOX EXTENSIONS HTML VALIDATOR CHECKY SEARCHING FOR NODES USING DOM INSPECTOR PERFORMING JAVASCRIPT SYNTAX CHECKING WITH JSLINT PERFORMING JAVASCRIPT COMPRESSION AND OBFUSCATION USING THE WEB DEVELOPER EXTENSION FOR FIREFOX IMPLEMENTING ADVANCED JAVASCRIPT TECHNIQUES OBJECT-ORIENTED JAVASCRIPT VIA THE PROTOTYPE PROPERTY PRIVATE PROPERTIES AND INFORMATION HIDING WITH JAVASCRIPT CLASSICAL INHERITANCE IN JAVASCRIPT PUTTING IT ALL TOGETHER TESTING JAVASCRIPT WITH JSUNIT RISING TO THE JAVASCRIPT CHALLENGE INTRODUCING THE TEST-FIRST APPROACH INTRODUCING JUNIT EXPLORING JSUNIT GETTING STARTED WRITING TESTS RUNNING TESTS USING STANDARD AND CUSTOM QUERY STRINGS WORKING WITH JSUNIT SERVER GETTING HELP WHAT ELSE CAN YOU USE? EXPLORING JAVASCRIPT DEBUGGING TOOLS AND TECHNIQUES DEBUGGING AJAX REQUESTS WITH GREASEMONKEY INTRODUCING GREASEMONKEY USING AN XMLHTTPREQUEST DEBUGGING USER SCRIPT FOR GREASEMONKEY INSPECTING AJAX REQUESTS AND RESPONSES WITH THE XMLHTTPREQUEST DEBUGGING USER SCRIPT DEBUGGING JAVASCRIPT USING FIREFOX JAVASCRIPT CONSOLE USING MICROSOFT SCRIPT DEBUGGER USING VENKMAN INTRODUCING PATTERNS IMPLEMENTING THE FADE ANYTHING TECHNIQUE (FAT) IMPLEMENTING AUTO REFRESH IMPLEMENTING A PARTIAL PAGE PAINT IMPLEMENTING A DRAGGABLE DOM AVOIDING COMMON GOTCHAS LEARNING WHERE TO GO FOR MORE USING A FRAMEWORK INTRODUCING TACONITE THE THEORY OF TACONITE THE SOLUTION WHAT DOES TACONITE DO WITH THE CONTENT? INTRODUCING DASHBOARD APPLICATIONS BUILDING THE AJAX DASHBOARD WITH TACONITE INTRODUCING THE GENERAL FEATURES INTRODUCING THE DESIGN FEATURES ANALYZING THE CODE ANALYZING THE WEATHER FORECAST COMPONENT ANALYZING THE HEADLINE NEWS COMPONENT HOW DOES THE AUTOMATIC REFRESHING WORK? BUILDING A BETTER AUTOCOMPLETE