Thông tin tài liệu
this print for content only—size & color not accurate spine = 0.924" 488 page count
BOOKS FOR PROFESSIONALS BY PROFESSIONALS
®
Pro Ajax and the .NET 2.0 Platform
Dear Reader,
Thanks to the folks at Google, Ajax technology has become a force to be reckoned
with. It is a technology that is here and now, just waiting for developers to
implement it. Google Maps, Google Suggest, and Flickr are just a few of the sites
out there that have moved Ajax into the mainstream. More will come as the
technology becomes easier to implement. This book will examine not only Ajax
technology, but also XmlHttpRequest processes, putting theory into code with
samples that duplicate many of the technologies utilized by the aforementioned
cutting-edge websites.
Fortunately for C# developers, we have Ajax options right now in the form of
some newly released class libraries that open the Ajax door to the .NET
Framework. The majority of the code in this book centers on a third-party
library called Anthem, written by Jason Diamond. One of the benefits of using
this library is that you’ll also have backwards compatibility to Visual Studio
2003, as a majority of the code in this book will work with .NET 1.1 or 2.0.
Having that range of opportunity makes Ajax development accessible to all.
You’ll also get an introductory look at Microsoft’s Atlas and how it holds up
against Ajax. You’ll have a chance to build an Atlas application as well and
decide for yourself whether Atlas is the right fit for your development work.
I’m confident that this book will help you get a firm grasp on the dynamic
tools that are available now. You’ll be ready for next-generation web develop-
ment in a surprisingly short amount of time.
Dan Woolston
US $49.99
Shelve in
Web Development
User level:
Intermediate–Advanced
Ajax and the .NET 2.0 Platform
Woolston
THE EXPERT’S VOICE
®
IN WEB DEVELOPMENT
Daniel Woolston
Pro Ajax and the
.NET 2.0 Platform
CYAN
MAGENTA
YELLOW
BLACK
PANTONE 123 CV
ISBN 1-59059-670-6
9 781590 596708
54999
6 89253 59670 8
Companion
eBook Available
www.apress.com
SOURCE CODE ONLINE
Companion eBook
See last page for details
on $10 eBook version
forums.apress.com
FOR PROFESSIONALS
BY PROFESSIONALS
™
Join online discussions:
THE APRESS ROADMAP
Pro Ajax and the
.NET 2.0 Platform
Illustrated C#
Foundations of Atlas:
Rapid Ajax Development
with ASP.NET 2.0
Foundations of Ajax
Pro C# 2005 and the .NET
2.0 Platform, Third Edition
Ajax Patterns
and Best Practices
Pro
Daniel Woolston
Pro Ajax and the
.NET 2.0 Platform
6706fmfinal.qxd 6/20/06 3:40 PM Page i
P
ro Ajax and the .NET 2.0 Platform
Copyright © 2006 by Daniel Woolston
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.
ISBN-13 (pbk): 978-1-59059-670-8
ISBN-10 (pbk): 1-59059-670-6
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
Lead Editor: Matthew Moodie
Technical Reviewer: Nick McCollum
Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Jason Gilmore, Jonathan Gennick,
Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Dominic Shakeshaft, Jim Sumser,
Keir Thomas, Matt Wade
Project Manager: Julie M. Smith
Copy Edit Manager: Nicole LeClerc
Copy Editor: Ami Knox
Assistant Production Director: Kari Brooks-Copony
Senior Production Editor: Laura Cheu
Compositor: Linda Weidemann, Wolf Creek Press
Proofreader: April Eddy
Indexer: Broccoli Information Management
Artist: April Milne
Cover Designer: Kurt Krames
Manufacturing Director: Tom Debolski
Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor,
New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail
orders-ny@springer-sbm.com,
or visit http://www.springeronline.com.
For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley,
CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com.
The information in this book is distributed on an “as is” basis, without warranty. Although every precaution
has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to
any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly
by the information contained in this work.
The source code for this book is available to readers at
http://www.apress.com in the Source Code section.
6706fmfinal.qxd 6/20/06 3:40 PM Page ii
For Terry and Cathy Woolston.
This book is a testament to the perseverance and faith
that you have had throughout the years.
Thank you.
6706fmfinal.qxd 6/20/06 3:40 PM Page iii
Contents at a Glance
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
PART 1
■ ■ ■
Ajax Concepts
■CHAPTER 1 History and Revival of Ajax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
■CHAPTER 2 Introducing JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
■CHAPTER 3 The XmlHttpRequest Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
■CHAPTER 4 N-Tier and Ajax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
PART 2
■ ■ ■
Ajax Components
■CHAPTER 5 Rich Inter
net Applications
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
■CHAPTER 6 CSS and the DOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
■CHAPTER 7 Ajax Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
PART 3
■ ■ ■
Concept to Code
■CHAPTER 8 Understanding the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
■CHAPTER 9 Ajax and Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
■CHAPTER 10 Tagging with Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
■CHAPTER 11 Cloning Google Suggest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
227
■CHAPTER 12 User Controls and Ajax.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
■CHAPTER 13 Ajax and Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
■CHAPTER 14 Ajax and Web Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
iv
6706fmfinal.qxd 6/20/06 3:40 PM Page iv
PART 4
■ ■ ■
Security and Performance
■CHAPTER 15 Ajax and ASP.NET Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
■CHAPTER 16 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
■CHAPTER 17 Debugging Your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
■CHAPTER 18 Ajax and Site Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
■CHAPTER 19 Ajax Usability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
PART 5
■ ■ ■
Moving Forward
■CHAPTER 20 Atlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
v
6706fmfinal.qxd 6/20/06 3:40 PM Page v
6706fmfinal.qxd 6/20/06 3:40 PM Page vi
Contents
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
PART 1
■ ■ ■
Ajax Concepts
■CHAPTER 1 History and Revival of Ajax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
The Age of Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1970. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1975. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1979. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1991. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
The
Age of Implementa
tion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1993. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1994. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
The Age of War . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1995. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1996. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1997. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1998. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1999. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The Age of Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2000. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2001. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
The Age of Experimentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2002–2004. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Summar
y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
vii
6706fmfinal.qxd 6/20/06 3:40 PM Page vii
■CHAPTER 2 Introducing JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
HTML Presence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Scripting Load Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
During Document Load. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
After Document Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
When Called by Other JavaScript Statements . . . . . . . . . . . . . . . . . . 21
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Concatenating and Adding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Variable Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Looping and Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
while Loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
do/while Loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Switch Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Returning Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Creating an Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Declaring Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Dec
laring Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
■CHAPTER 3 The XmlHttpRequest Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
LOADVIEWSTATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
LOADPOSTBACKDA
T
A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
RAISEPOSTBACKEVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
SA
VEVIEWST
ATE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Render. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Asynchronous Resource Retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Header Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Retrieving XML Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Introducing JSON. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Summar
y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
■CONTENTSviii
6706fmfinal.qxd 6/20/06 3:40 PM Page viii
■CHAPTER 4 N-Tier and Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
What Is N-Tier? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Business Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Data Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
The Place for Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Sample N-Tier Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Presentation Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Business Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Data Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
PART 2
■ ■ ■
Ajax Components
■CHAPTER 5 Rich Internet Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
What It Is Not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
What It Could Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Cross-browser Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Client-side Logic Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Application Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Browser
Transition Logic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
RIA Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Focused Interaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Page Disruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Compelling Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
URL Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
■CONTENTS
ix
6706fmfinal.qxd 6/20/06 3:40 PM Page ix
[...]... throughout the book are detailed here • Chapter 3 is a detailed discussion on the heart of Ajax: the XmlHttpRequest object • Chapters 4 and 5 discuss the role of Ajax in an n-tiered environment and the definition of Ajax as it relates to the world of rich clients • Chapter 6 is an examination of cascading style sheets and the Document Object Model The DOM and CSS are two very key components to Ajax, and this... learning and using both, then you’re selling yourself short.” Well put, Rocky! Ajax. NET Library As Ajax grows in popularity, so does the volume of Ajax. NET interface libraries available across the web Essentially these libraries take the complexity out of utilizing XmlHttpRequest and render simple methods for client- and server-side usage You could, of course, skip the implementation of an Ajax. NET library... (http://www.popularmechanics.com) jumped into the marketing pool, declaring it one of the “Must-Know Technologies of 2006.” The articles, as a whole, tended to agree that it was Google that kick-started the revival of DHTML and Ajax Google had broken the ice with Gmail and Suggest, and next they dropped the Google Maps bomb on the Internet community The rookie site (http://maps.google.com) used Ajax to allow users the ability to... chapters Click the Source Code link and search for Pro Ajax and the NET 2.0 Platform You’ll find that the code has been organized in chapter format for easy location and execution Summary I’m confident that working through the examples and illustrations contained within will leave you well prepared for some really cool development work It truly is an exciting time in the web development world, and I hope... that the browser war really became ugly And by ugly, I mean that Netscape and Microsoft began to run with their own perception of what technologies should be brought to the web and how they should be built within the script The W3C had published CSS specifications; however, the interpretation of the standard differed greatly between the two application giants Both parties would have agreed to the idea... possible results for you The result set that is returned to the client is cached, so that if a user presses the Backspace key, the client will simply call up the previously held results and redisplay them rather than making another hit to the database It’s an awesome and simplified use of the Ajax toolset, developed primarily by Kevin Gibbs on a part-time basis Google has acknowledged the fact that most... library and code the XmlHttpRequest processes yourself However, as many developers have said, “Why reinvent the wheel?” xxi 6706fmfinal.qxd xxii 6/20/06 3:40 PM Page xxii sINTRODUCTION There are many libraries out there, as I’ve said before, but two stand out from the rest: • Michael Schwarz’s Ajax. NET Professional (http://weblogs.asp.net/mschwarz/): A popular and effective toolset It’s updated and supported... within the IE browser However, more and more companies/ open source communities are embracing the object, and subsequently the XmlHttpRequest object has become widely compatible with modern browsers: • Internet Explorer 5.0 and above • Firefox 1.0 and above • Safari 1.2 and above • Opera 7.6 and above • Konqueror • Netscape 7.0 and above JavaScript Enabled One of the criticisms surrounding Ajax. NET technology... HISTORY AND REVIVAL OF AJAX predecessor of the modern Internet was birthed in all its binary glory The ARPANET (Advanced Research Projects Agency Network) came to life as the end result of J C R Licklider’s notion of a “galactic network” of data communication The first four nodes of Arpanet were limited to the west coast of the U.S as shown in Figure 1-1 Figure 1-1 The first four nodes of the ARPANET... to the web The explosion of Internet access spread across the world with tremendous fervor Most historians would point to this year as the phase at which the web went “BOOM!” 1994 The Netscape 1 browser hit the web and quickly took over as the tool of choice for many It was a much needed improvement over the Mozilla application, supporting multiple TCP/IP connections as well client-side cookies The
Ngày đăng: 27/03/2014, 13:35
Xem thêm: pro ajax and the .net 2.0 platform (2006), pro ajax and the .net 2.0 platform (2006)