Skip to main content

Ajax Bible

Steve Holzner

ISBN: 978-0-470-10263-3

Apr 2007

695 pages

Select type: Paperback

Product not available for purchase


Build interactive Web applications with Ajax

Create live searches and online spreadsheets

Discover programming mistakes to avoid!

Create blazing-fast Web applications with powerful Ajax

If you think that mastering Ajax is too difficult, guess again. You can create Web applications that look and feel like desktop apps in less time than you think with the comprehensive Ajax instruction in this in-depth book. You'll find easy-to-follow tutorials, hundreds of tips and tricks, and so much practical information that even skilled developers will reach for this book first. Let this Bible be your guide as you jump into the hottest Web programming technology in years.

* Master the fundamentals--JavaScript(r), XML, dynamic HTML, and CSS

Tie Ajax into Google with the Google(r) API

Handle simultaneous XMLHttpRequest objects in Ajax

Use Ajax frameworks such as Ruby on Rails, AjaxTags, and others

Understand the Document Object Model (DOM)

Create floating menus and effects with CSS

Encrypt data over plain HTTP using JavaScript

Adapt real-world examples to your own programs

Companion Web site

Find all the code used throughout the book at

Preface xiii

Acknowledgments xvii

Part I: Fundamental Ajax 1

Chapter 1: Essential Ajax 3

What Does “Ajax” Mean? 6

What Can You Do with Ajax? 8

Create Ajax live searches 8

Create an Ajax-enabled calculator 9

Talk with Ajax chat applications 10

Crunch numbers with spreadsheets 12

Browse Amazon 12

Get the answer with Ajax autocomplete 13

Log in with Ajax 15

Download images 17

Drag and drop with Ajax 18

Play games with Ajax 21

Modify Web pages on the fly 24

Add interactivity to maps 29

E-mail the Ajax way 30

Summary 32

Chapter 2: Know Your JavaScript 33

What Is JavaScript’s Place in Ajax? 33

A Brief History of JavaScript 36

Getting Started with JavaScript 37

Fixing errors 39

Commenting your code 42

Putting your code in external script files 43

Responding to browser events 44

Creating JavaScript Functions 47

Passing arguments to functions 52

Returning values from functions 57

Storing Your Data in Variables 60

Operating on Your Data with Operators 62

Making Decisions with the If Statement 65

Executing Different Code in Different Browsers 68

Working with Loops 73

Looping with the for loop 74

Looping with the while loop 75

Connecting JavaScript to HTML Buttons 79

Summary 81

Chapter 3: Creating Ajax Applications 83

Writing Ajax 83

Setting up the application 86

Writing the JavaScript 87

Creating an XMLHttpRequest object 87

Opening the XMLHttpRequest object 92

Handling data downloads 95

Getting your data 98

Downloading the data 100

More ways to create XMLHttpRequest objects 101

Interacting with Server-Side Code 103

Passing Data to Server-Side Scripts 106

Passing data to the server with GET 106

Passing data to the server with POST 110

Using Ajax with XML 115

Creating the XML 117

Downloading the XML 118

Summary 125

Chapter 4: Serious Ajax Programming 127

Working with Multiple Concurrent XMLHttpRequest Requests 128

Using multiple XMLHttpRequest objects 130

Storing XMLHttpRequest objects in an array 134

Using inner functions 138

Handling JavaScript Sent from the Server 145

Returning JavaScript 145

Returning JavaScript objects 149

Connecting to Google Suggest 151

Calling Another Domain in Ajax 159

A Login Example 160

Working with Ajax and Head Requests 163

Getting all head data 163

Getting specific head data 166

Eliminate Caching 167

Summary 168

Part II: Ajax in Depth 169

Chapter 5: Introducing Ajax Frameworks 171

Using the Ajax Utility Library 171

Get text from the server with getText 175

Get XML from the server with getXml 180

Post data to the server and get text back 187

Post data to the server and get XML back 193

Using libXmlRequest to Download XML 203

Using AJAXLib to Download XML 207

Summary 209

Chapter 6: More Advanced Ajax Frameworks 211

Using the Majax Framework 211

Using the Sack Framework 216

Using the XHConn Framework 221

Using the uniAjax Framework 226

Using the AjaxGear Framework 229

Using the AjaxRequest Framework 234

Using the Http Framework to Avoid Caching 239

Using the Sarissa Framework to Handle XML 242

Using the Interactive Website Framework to Handle XML 247

Summary 250

Chapter 7: Using Server-Side Ajax Frameworks 251

Working with PHP-Based Frameworks 251

Using Sajax and PHP 251

Using Xajax and PHP 260

Using LibAjax and PHP 265

Working with Java-Based Frameworks 271

Using Direct Web Remoting and Java 271

Using Ajax Tags and Java 276

Using SWATO with Java 279

Working with Ajax and Ruby on Rails 281

Downloading text with Ajax 282

Accessing downloaded data in code 288

Summary 294

Part III: Ajax and the DOM, XML, CSS, and Dynamic HTML 295

Chapter 8: The DOM and Event Handling 297

Introducing the DOM 297

Appending Elements Using the DOM 299

Replacing Elements Using the DOM 305

Creating an Ajax-Enabled Shopping Cart 310

Creating a cross-browser mouse event object 315

Handling mouse down events 320

Handling mouse move events 323

Handling mouse up events 325

Downloading Images with Ajax 328

Handling Ajax Timeouts 333

Summary 337

Chapter 9: XML and Ajax 339

Creating XML 339

Handling XML with JavaScript 344

Retrieving Data from an XML Document 349

Handling White Space in the Mozilla, Netscape, and Firefox Web Browsers 359

Handling White Space in a Cross-Browser Way 361

Accessing XML Data Directly 365

Accessing XML Attribute Values 371

Validating Your XML 375

Summary 378

Chapter 10: Cascading Style Sheets and Ajax 379

Ajax-Enabled Menus 379

Creating the styles 382

Working with the mouse 388

Downloading the menu items 395

Showing a menu 396

Handling menu item clicks 398

Hiding a menu 400

Getting Text Noticed in Ajax Applications 401

Scrolling Text 405

Styling Text Using CSS 407

Styling Colors and Backgrounds Using CSS 411

Styling Locations in Web Pages 416

Summary 418

Chapter 11: Dynamic HTML and Ajax 419

Creating Mouseovers 419

Using Dynamic Styles 423

Using document.write 427

Using Dynamic HTML Methods to Update Part of a Page 434

Using Dynamic HTML Properties to Update Part of a Page 437

Using Text Ranges to Update Part of a Page 443

Using createElement to Create New Elements on the Fly 447

Creating Dynamic Tables 452

Catching the User’s Attention with Animation 457

Summary 464

Part IV: Advanced Ajax 465

Chapter 12: Introducing Ajax and PHP 467

Getting Started with PHP 467

Sending text back to the browser 469

Sending XML back to the browser 471

Commenting Your PHP 474

Working with Variables 475

Interpolating Variables in Strings 485

Working with Arrays 487

Creating arrays 488

Copying arrays 491

Handling Your Data with Operators 492

Making Choices with the if Statement 494

Using else statements 497

Using elseif statements 498

Using Switch Statements 499

Using loop Statements 501

Looping with the for loop 501

Looping with the while loop 503

Looping with the do...while loop 505

Looping with the for each loop 506

Summary 508

Chapter 13: PHP: Functions and HTML Controls 509

Working with Functions 509

Passing data to functions 512

Setting up default arguments 514

Creating variable-length argument lists 515

Returning values from functions 518

Returning multiple values from a function 519

Handling HTML Controls 522

Working with text fields 524

Working with checkboxes 527

Working with radio buttons 531

Working with list boxes 533

Working with password controls 538

Working with Image Maps 540

Uploading Files 544

Summary 550

Chapter 14: Handling User Input in PHP 551

Displaying All the Data in a Form 552

Looking at Server Variables 556

Getting User Input in Arrays 560

Wrapping PHP Applications in a Single Page 563

Using Hidden Controls to Check Whether a Page Has Been Seen Before 567

Validating User Input, Numbers, and Text 568

Validating user input 568

Validating numbers 577

Validating text 582

Handling HTML Sent by the User 586

Summary 589

Chapter 15: Ajax and Security 591

Protecting Against Malicious Users 591

JavaScript insertion 592

Looking at the Security Issues with Proxy Servers 600

Handling Security in Ajax Applications 601

Easy password protection 601

Server-side user authentication 605

Protecting Passwords Using Public and Private Keys 619

Summary 630

Chapter 16: Filters, MVC, and Ajax 631

Restricting Access with Filters 631

Logging User Access with Filters 642

Restricting Access Based on Time of Day 654

Model-View-Controller Applications 660

The controller 660

The view 664

The model 665

Installing the MVC Application 666

Accessing MVC with Ajax 666

Summary 668

Index 669

  • Most complete, comprehensive book on Ajax.
  • Packed with examples readily adaptable for readers to use. Soon they’ll be writing writing JavaScript code that sends off asynchronous requests to web servers—the Ajax way.
  • Shows how to create Web applications that are as rich and responsive as desktop software. Topics covered include Working with JavaScript; Tying Ajax into Google, Debugging Ajax; Using the DOM; Using Frameworks to create Ajax applications; Handling Cascading Style Sheets with Ajax; Ajax patterns; Ajax security; and much more.
  • A companion Web site will provide all the code used throughout the book.
  • Demystifies the complexities of Ajax. Expert author Steven Holzner, Ph.D., uses short tutorials to teach Ajax programming and shows hundreds of useful tips, tricks, and hacks.
Download All Code Used in the Book

Download a .zip archive containing all the code used in the book.