- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
sdasdasd
01GA - Grafové algoritmy a jejich složitost
Hodnocení materiálu:
Vyučující: prof.Ing. Robert Černý DrSc.
Popisek: dasdas
Zjednodušená ukázka:
Stáhnout celý tento materiálBuild Your Own AJAX Web Applications (Excerpt)
Thank you for downloading this three-chapter sample of Matthew
Eernisse's book, Build Your Own AJAX Web Applications, published by
SitePoint.
This excerpt includes the Summary of Contents, Information about the
Authors, Editors and SitePoint, Table of Contents, Preface, four chapters
of the book, and the index. We hope you find this information useful in
evaluating this book.
For more information or to order, visit sitepoint.com
Summary of Contents of this Excerpt
Preface ...................................................................................................... xi
1. AJAX: the Overview..............................................................................1
2. Basic XMLHttpRequest .....................................................................13
3. The "A" in AJAX..................................................................................41
Index......................................................................................................287
Summary of Additional Book Contents
4. AJAX and POST Requests..................................................................85
5. Broader AJAX with Edit-in-place .....................................................129
6. Web Services and Slide-and-hide.....................................................167
7. More Web Services and a Back Button...........................................199
8. Drag and Drop with AJAX Chess.....................................................243
A. AJAX Toolkits...................................................................................283
Build Your Own AJAX Web
Applications
by Matthew Eernisse
Build Your Own AJAX Web Applications
by Matthew Eernisse
Copyright © 2006 SitePoint Pty. Ltd.
Editor: Georgina LaidlawExpert Reviewer: Stuart Langridge
Index Editor: Bill JohncocksManaging Editor: Simon Mackie
Cover Design: Jess BentleyTechnical Editor: Craig Anderson
Cover Layout: Alex WalkerTechnical Director: Kevin Yank
Printing History:
First Edition: June 2006
Notice of Rights
All rights reserved. No part of this book may be reproduced, stored in a retrieval system or transmitted
in any form or by any means, without the prior written permission of the publisher, except in the
case of brief quotations embodied in critical articles or reviews.
Notice of Liability
The author and publisher have made every effort to ensure the accuracy of the information herein.
However, the information contained in this book is sold without warranty, either express or implied.
Neither the authors and SitePoint Pty. Ltd., nor its dealers or distributors will be held liable for any
damages to be caused either directly or indirectly by the instructions contained in this book, or by
the software or hardware products described herein.
Trademark Notice
Rather than indicating every occurrence of a trademarked name as such, this book uses the names
only in an editorial fashion and to the benefit of the trademark owner with no intention of infringe-
ment of the trademark.
Published by SitePoint Pty. Ltd.
424 Smith Street Collingwood
VIC Australia 3066.
Web: www.sitepoint.com
Email: business@sitepoint.com
ISBN 0–9758419–4–7
Printed and bound in the United States of America
About the Author
Matthew lives in Houston, Texas, USA, and works for the Open Source Applications
Foundation building the web UIs for Scooby, a next-generation web-based calendar client,
and Cosmo, a calendar server. In his abundant free time, he writes about AJAX, JavaScript,
Ruby, and PHP at Fleegix.org, and operates EpiphanyRadio, a webcast radio station.
Matthew plays drums and speaks fluent Japanese.
About the Expert Reviewer
Stuart Langridge has been playing with the Web since 1994, and is quite possibly the
only person in the world to have a BSc in Computer Science and Philosophy. He invented
the term “unobtrusive DHTML” and has been a leader in the quest to popularize this
new approach to scripting. When not working on the Web, he’s a keen Linux user and
part of the team at open-source radio show LUGRadio, and likes drinking decent beers,
studying stone circles and other ancient phenomena, and trying to learn the piano.
About the Technical Director
As Technical Director for SitePoint, Kevin Yank oversees all of its technical publica-
tions—books, articles, newsletters, and blogs. He has written over 50 articles for SitePoint,
but is best known for his book, Build Your Own Database Driven Website Using PHP &
MySQL. Kevin lives in Melbourne, Australia, and enjoys performing improvised comedy
theatre and flying light aircraft.
About SitePoint
SitePoint specializes in publishing fun, practical, and easy-to-understand content for web
professionals. Visit http://www.sitepoint.com/ to access our books, newsletters, articles,
and community forums.
To my wife, Masako, and my
three little boys—Hiromasa,
Akira, and Yoshiki—for all
their love, patience, and
support.
Table of Contents
Preface ..................................................................................................... xi
1. AJAX: the Overview ............................................................................... 1
AJAX Web Applications ....................................................................... 2
The Bad Old Days ....................................................................... 3
Prehistoric AJAX .......................................................................... 3
What Makes AJAX Cool ....................................................................... 4
AJAX Technologies ............................................................................... 8
Data Exchange and Markup: XML ............................................... 8
W3C Document Object Model .................................................. 10
Presentation: CSS ...................................................................... 11
Communication: XMLHttpRequest .............................................. 11
Putting it All Together: JavaScript ............................................... 12
Summary ........................................................................................... 12
2. Basic XMLHttpRequest ........................................................................ 13
A Simple AJAX Library ...................................................................... 14
Starting our Ajax Class .............................................................. 14
Creating an XMLHttpRequest Object ........................................... 16
Sending a Request ...................................................................... 18
Processing the Response ............................................................. 23
Aborting the Request ................................................................. 28
Wrapping it Up .......................................................................... 29
Example: a Simple Test Page ....................................................... 29
Example: a Simple AJAX App ............................................................. 33
Laying the Foundations .............................................................. 33
Handling the Result with showPoll ............................................ 34
Starting the Process Over Again .................................................. 36
Full Example Code ..................................................................... 36
Running the App ........................................................................ 38
Further Reading ................................................................................. 38
JavaScript’s Object Model .......................................................... 38
XMLHttpRequest ...................................................................... 39
Summary ........................................................................................... 39
3. The “A” in AJAX .................................................................................. 41
Planned Application Enhancements .................................................... 42
Organizing the Code .......................................................................... 43
Loss of Scope with setTimeout .................................................. 44
Creating the Monitor Object ...................................................... 47
Configuring and Initializing our Application ....................................... 48
Setting Up the UI .............................................................................. 49
The toggleButton Method ........................................................ 50
The toggleStatusMessage Method ........................................... 51
Checking your Work In Progress ................................................. 52
Polling the Server ............................................................................... 53
Handling Timeouts ............................................................................ 57
The Response Times Bar Graph .......................................................... 58
The Running List in pollArray .................................................. 58
Displaying the Results ................................................................ 59
Stopping the Application ........................................................... 66
Status Notifications ........................................................................... 67
The Status Animation ................................................................ 68
Setting Up Status ..................................................................... 70
Internet Explorer Memory Leaks ................................................ 71
The displayOpacity Method .................................................... 72
Running the Animation .............................................................. 75
Styling the Monitor ........................................................................... 80
Summary ........................................................................................... 83
4. AJAX and POST Requests ..................................................................... 85
Review: Sending Data with GET .......................................................... 86
Sending Data with POST ..................................................................... 86
A Quick Form POST .................................................................... 88
Using formData2QueryString .................................................... 88
An Application Login ......................................................................... 90
Accessibility and Backward Compatibility .................................. 90
Markup and CSS ....................................................................... 91
Creating the Login Class ............................................................ 94
Setting it Up with init .............................................................. 95
Setting the Login Prompt ........................................................... 97
Ensuring Valid Input .................................................................. 99
Submitting the Form Data ....................................................... 103
Processing the Submission ........................................................ 104
Showing Processing Status ....................................................... 107
Handling the Server Response .................................................. 109
Dealing with Login Failures ...................................................... 110
AJAX and Screen Readers ................................................................. 112
Thinking “Linearly” ................................................................. 112
Skip Navigation Links .............................................................. 115
Notification for Dynamic Content ............................................ 117
Testing in Multiple Readers ...................................................... 118
Order the print version of this book to get all 300+ pages!iv
Build Your Own AJAX Web Applications
The Screen Reader Code .................................................................. 121
Setting Up Notification ............................................................ 122
Showing Notifications .............................................................. 123
Enabling the Submit Button ..................................................... 125
Adding Instructions to a Form Element .................................... 126
Further Reading ............................................................................... 127
Summary ......................................................................................... 128
5. Broader AJAX with Edit-in-place ......................................................... 129
Page Markup .................................................................................... 130
Accessibility and Backward Compatibility ................................. 132
The Blog Class ................................................................................. 133
The init Method ............................................................................ 134
Edit-in-place .................................................................................... 134
Editing an Entry .............................................................................. 137
The getSrcElem Method ......................................................... 138
Getting the Entry’s ID ............................................................. 139
Changing the State .................................................................. 140
Turning on Editable State ......................................................... 140
Enabling and Disabling Other Input ......................................... 145
Returning to Display State ....................................................... 146
Saving Changes ................................................................................ 148
The Status Animation ...................................................................... 149
Starting the Animation ............................................................. 150
The doStatusAnim Method ...................................................... 151
The Fake Back-end Page ................................................................... 152
Using YAML ............................................................................ 152
The PHP Code ......................................................................... 154
Response Examples .................................................................. 154
Parsing YAML in JavaScript ...................................................... 155
Handling the Response ..................................................................... 156
Stopping the Status Animation ........................................................ 157
Cleaning Up with stopReset .................................................... 157
Adding a New Entry ........................................................................ 158
Adding the New Entry divs ..................................................... 159
Canceling the New Entry ......................................................... 161
The Placeholder ID .................................................................. 162
Future Enhancements ....................................................................... 163
Loading Existing Entries ........................................................... 163
Concurrency and Locking ......................................................... 164
Errors and Timeouts ................................................................. 165
Summary ......................................................................................... 165
vOrder the print version of this book to get all 300+ pages!
6. Web Services and Slide-and-hide ........................................................ 167
Slide-and-hide Window .................................................................... 168
Web Services: an Overview ............................................................... 168
APIs and Protocols ........................................................................... 169
REST ....................................................................................... 169
XML-RPC ................................................................................ 170
SOAP ...................................................................................... 171
Network-centric vs Application-centric ..................................... 171
Amazon Web Services Client ............................................................ 172
Amazon Web Services Accounts ............................................... 173
Amazon E-Commerce Service ................................................... 174
The Client Class ............................................................................. 175
Initial Setup ............................................................................. 176
Cross-site AJAX ................................................................................ 177
XMLHttpRequest and Security .................................................. 177
An AJAX Relay ......................................................................... 178
The Proxy Script ...................................................................... 179
Sending the Request to Amazon Web Services .................................. 182
Getting the Search Text ............................................................ 183
Sending the Request ................................................................ 183
Handling the Results from Amazon .................................................. 184
Using xml2ObjArray ................................................................ 185
Formatting the Results ..................................................................... 187
Performing the Slide-and-hide .......................................................... 188
The Slide-and-hide Effect ......................................................... 190
AJAX Fat-client Code ....................................................................... 191
Legacy Browsers and Accessibility ............................................ 191
Usability: the Back Button Problem .......................................... 192
Debugging Client-side AJAX ..................................................... 194
Further Reading ............................................................................... 196
Cross-site Scripting (XSS) ........................................................ 196
Mashups .................................................................................. 197
Summary ......................................................................................... 197
7. More Web Services and a Back Button ............................................... 199
The Search Application .................................................................... 200
Accessibility and Backward Compatibility ................................. 201
Fixing the Back Button ............................................................. 201
Setting Up the Search Class ............................................................. 202
The init Method ............................................................................ 202
Disabling and Enabling Buttons ............................................... 205
Enabling Search ............................................................................... 205
Order the print version of this book to get all 300+ pages!vi
Build Your Own AJAX Web Applications
The submitSearch Method .............................................................. 206
Passing to the Proxy Script ....................................................... 207
Submitting the Search .............................................................. 207
The Proxy Script .............................................................................. 208
Requirements ........................................................................... 209
Initial Setup ............................................................................. 209
Amazon Web Services ...................................................................... 210
Printing the Response ...................................................................... 211
Google Web APIs ............................................................................. 211
Using a SOAP Library .............................................................. 211
The eBay Platform ........................................................................... 214
A Few Hurdles ......................................................................... 215
The Code ................................................................................. 216
Testing the Proxy Script .................................................................... 217
Handling the Results ........................................................................ 218
Amazon ................................................................................... 218
Google ................................................................................
Vloženo: 27.11.2009
Velikost: 1,06 MB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2024 unium.cz