Index

A

abort( ) method, XMLHttpRequest object, 19

Accesskey Underlining Library (AUL), 348

account-editing component, trouble-ticketing systems, creating, 308-310

actions

feedback, providing for, 122

undoing, providing, 123

ActiveX, 5

addEventListener( ) method, XMLHttpRequest object, 19

AJAX (Asynchronous JavaScript and XML), 4-5

communication flow, 6

Flash, combining, 115-116

Implementation, goals, 100-107

Improvements, measuring, 107-115

integration, 89-91

complexity issues, 88-89

development cycles, 78-85

Firefox counters, 95-97

frameworks, 86-87

intranet Web sites, 97

Open Source libraries, 91-95

interactivity, increasing, 100-103

mainstream acceptance, 12

remote scripting, 9

request flow, 5-7

technologies, 7-9

AJAX requests, making, Sarissa, 169-170

AJAX Toolbox, 334

AJAX viewers, building, 234-246

Ajax.NET, 343

AjaxAC, 340

AjaxTags, 342

Anthem.NET, 344

API documentationSarissa, 181

Appear (scriptacalous), 183

append method (HTML_AJAX), 199

applications

AJAX applications

MVC applications, compared, 329-330

security issues, 328

rich applications, creating, 106-107

assign-tickets component, trouble-ticketing systems, creating, 323-325, 327-328

Asynchronous JavaScript and XML. See AJAX

asynchronous requests, sending, XMLHttpRequest object, 23-24, 27-28

Atlas, 344

AUL (Accesskey Underlining Library), 348

Autocompleter (scriptaculous), 193

Autosave, undo operations, preventing with, 129

B

back ends, trouble-ticketing systems

creating, 275-280

exporting, 282-288 Bajax, 334

bandwidth uses, reducing, 105-106

Behavior library, 348

BlindUp (scriptacalous), 182

blogs

comments, login forms, 256-262

logins

adding, 250-251

building, 250-262

XML implementation, 262-269

bookmarking, breaking, page loads, 133-134

breaking bookmarking, page loads, 133-134

C

C#/.NET, 343-344

client-side music management systems, 83

code, debugging, 138-139

communications, 139-143, 145-156

Fiddler HTTP debugging proxy, 151-156

Firebug, 144-151

JavaScript dumping variables, 161-162

JavaScript exceptions, 160-161

JavaScript tools, 156-159

comments, blogs

login forms, 256-262

logins, 250-269

communication layer

cookies, 36-39

IFrames, 29-36

XMLHttpRequest object, 16-17

abort( ) method, 19

addEventListener( ) method, 19

asynchronous requests, 23-24, 27-28

cross-browser creation, 21-23

getAllRequestHeaders( ) method, 19

getRequestHeader( ) method, 19

open( ) method, 17

overrideMimeType( ) method, 19

properties, 20-21

readyState variable, 20-21

removeEventListener( ) method, 19

send( ) method, 17

setRequestHeader( ) method, 18

communications, AJAX, 139-156

cookies, 16

requests, sending, 36, 38-39

sent data

document-centric consumption, 42-54

remote scripting, 54-74

CPAINT, 345

cross-broswer creation, XMLHttpRequest object, 21-23

cssQuery( ) method, 348

custom XML schemas, RPC, 66-72

D

data displays, speeding up, 218-232

with AJAX, 234-246

Dean Edwards IE7

library, 349

debugging, 138-139

communications, 139-156

Fiddler HTTP debugging proxy, 151-156

Firebug, 144-151

JavaScript dumping variables, 161-162

JavaScript exceptions, 160-161

JavaScript tools, 156-159

loggers

adding, 143-144

building, 139-142

development

AJAX

complexity issues, 88-89

Firefox counters, 95-97

intranet Web sites, 97

library, 89-91

Open Source libraries, 91-95

HTML_AJAX, 214

Sarissa, 181

scriptaculous, 192

development cycles, changes to, 78-85

development languages, JavaScript as primary development language, 87-88

DHTML (dynamic HTML) libraries, 117, 348-351

dialogs, Script Debugging error dialog, 158

Direct Web Remoting (DWR), 342

disappearing messages, creating, 296-297

document-centric data consumption, 42-54

DOM, 45-49

XSLT, 50-54

Dojo Toolkit, 334

DOM

documents, 171-174

JavaScript Behaviors, 210-211

XML data consumption, 45-49

DOM-Drag, 349

downloading

Sarissa, 169

scriptaculous, 182

drag-and-drop operations, scriptaculous, 185-186

dumping variables, JavaScript, 161-162

DWR (Direct Web Remoting), 342

dynamic HTML (DHTML) libraries, 117, 348-351

E

efficiency, Web sites, 120

encloseInScript utility method (PHP), 213

error icon (Firebug), 146

error selector (Firebug), 146

errors, Web sites, 121

eval statement (JavaScript), 8

exceptions, JavaScript, 160-161

exportation, trouble-ticketing system back ends, 282-288

Extensible Application Markup Language (XAML), 116

eXtensible Stylesheet Language Transformations. See XSLT

F

feedback, actions, providing for, 122

feedback messages, Gmail, 11-12

Fiddler HTTP debugging proxy, 151-156

Headers view, 155

main interface, 153

session inspector interface, 154

TextView view, 156

Firebug, 144-151

error icon, 146

error selector, 146

JavaScript commands, running, 150

Firebug (status icon), 147

Firefox counters, 95-97

Flash, 5, 115-116

form POST, mimicking, RPC, 60-63

form-loading status, providing, 298

forms

IFrames, creating, 32

login forms, extending, 256-262

formSubmit method (HTML_AJAX), 200

framework, AJAX, integration into, 86-87

functional tests, scriptaculous, 192

functions

positionOver, 296, 298

scriptaculous, documentation, 192

startLoad, 238-239

G

Garrett, Jesse James, 5, 12

General Public License (GPL) software, 93

getAllRequestHeaders( ) method, XMLHttpRequest object, 19

getElementsByClassName utility method (JavaScript), 213

getRequestHeader( ) method, XMLHttpRequest object, 19

ghosting property (scriptaculous), 187

Gmail (Google), 4, 9-12

feedback messages, 11-12

loading indicator, 11

interface, 10

goals, AJAX implementation, 100-107

Google Suggest application, 100-101

Google Web Toolkit, 343

GPL (General Public License) software, 93

grab method (HTML_AJAX), 199

graph.php, Sun Rise and Set data viewer, 228

graphics, SVG (Scalable Vector Graphics), 116

H

Headers view (Fiddler), 155

hidden IFrames, creating, 31

hide/show pairs, scriptaculous, 183-184

horizontal mode (scriptaculous slider control), 189-190

Hotmail, 4

HTML content, pages, adding to, 42-45

HTML_AJAX, 196-197, 340

development, 214

HTML_AJAX_Action code, 197, 208-210

initMethod functionality, 214

installing, 197-198

JavaScript API, 196-205

JavaScript Behaviors, 210-211

JavaScript utility methods, 211-213

mapped PHP classes' API, 197

PHP utility methods, 213

remote stub AJAX, 205-208

serialization classes, 214

wiki, 214

HTML_AJAX_Action code, 197, 208-210

HttpClient XMLHttpRequest wrapper class, 24, 27-28

I

IFrames, 29

forms, creating, 32

hidden IFrames, creating, 31

requests, sending, 31-36

sent data

document-centric consumption, 42-54

remote scripting, 54-74

implementation, AJAX, goals, 100-107

improvements, AJAX, measuring, 107-115

inline editing, 104-105

InPlaceEditor (scriptaculous), 193

installation

HTML_AJAX, 197-198

Sarissa, 169

scriptaculous, 182

integration, AJAX, 89-91

complexity issues, 88-89

development cycles, 78-85

Firefox counters, 95-97

frameworks, 86-87

intranet Web sites, 97

Open Source libraries, 91-95

interactivity, increasing, 100-103

intranet Web sites, developing, 97

ISO (International Organization for Standardization), usability definition, 120

iTunes, 83

J

Java, 5

JavaScript, 5

as primary development language, 87-88

cookies, 36, 38-39

debugging tools, 156-159

dumping variables, 161-162

eval statement, 8

exceptions, 160-161

Firefox Console, 157

IFrames, 29-36

JSON, 72-74

libraries

AjaxTags, 342

DHTML libraries, 348-351

DWR (Direct Web Remoting), 342

Google Web Toolkit, 343

ZK, 343

remote scripting, 9

utility methods, 211-213

XMLHttpRequest object, 16-17

abort( ) method, 19

addEventListener( ) method, 19

asynchronous requests, 23-24, 27-28

cross-browser creation, 21-23

getAllRequestHeaders( ) method, 19

getRequestHeader( ) method, 19

open( ) method, 17

overrideMimeType( ) method, 19

properties, 20-21

readyState variable, 20-21

removeEventListener( ) method, 19

send( ) method, 17

setRequestHeader( ) method, 18

JavaScript API, HTML_AJAX, 196-205

append method, 199

formSubmit method, 200

grab method, 199

properties, 200-205

replace method, 199

stub class, 205-208

JavaScript Behaviors, 210-211

JavaScript commands, running, Firebug, 150

JavaScript shell, 349

JavaScript trouble-ticketing systems, building, 288-299

JPSpan library, 94

JSON, 72-74

jsonEncode utility method (PHP), 213

K-L

learnability, Web sites, 120

LGPL (Library General Public License), 196

libraries, 168

advantages of, 89-90

AJAX, 7-9

AJAX Toolbox, 334

Ajax.NET, 343

AjaxAC, 340

AjaxTags, 342

Anthem.NET, 344

Atlas, 344

AUL (Accesskey Underlining Library), 348

Bajax, 334

Behavior, 348

building, 91

CPAINT, 345

cssQuery( ) method, 348

Dean Edwards IE7, 349

Dojo Toolkit, 334

DOM-Drag, 349

DWR (Direct Web Remoting), 342

Google Web Toolkit, 343

HTML_AJAX, 196-197, 340

development, 214

HTML_AJAX_Action code, 197, 208-210

installing, 197-198

JavaScript API, 196-205

JavaScript Behaviors, 210-211

JavaScript utility methods, 211-213

mapped PHP classes' API, 197

PHP utility methods, 213

remote stub AJAX, 205, 207-208

JavaScript shell, 349

JPSpan library, 94

LGPL (Library General Public License), 196

libXmlRequest, 335

Lightbox JS, 350

MagicAJAX.NET, 344

Mochikit, 335

Moo.fx, 350

Nifty Corners Cube, 350

OO (object-oriented) design, 94

Open Source libraries, 91-95

overLIB, 351

PAJAJ, 340

Qooxdoo, 336

Rialto, 345

Rico, 335

SACK (Simple AJAX Code-Kit), 336

SAJAX, 346

Sarissa, 169

AJAX requests, 169-170

API documentation, 181

development, 181

DOM documents, 171-174

downloading, 169

installing, 169

mixing, 181

sarissa_ieemu_xpath.js file, 181

sarissa_ieemu_xslt.js file, 181

test cases, 181

XML features, 171

XML string-loading capabilities, 181

XPath, 174-177, 181

XSLT, 178, 180-181

scriptaculous, 181

Autocompleter, 193

development, 192

downloading, 182

drag and drop operations, 185-186

function documentation, 192

functional tests, 192

hide/show pairs, 183-184

InPlaceEditor, 193

installing, 182

prepackaged effects and components, 192

slider control, 189-192

sortables, 187-189

visual effects, 182

Sorttable, 351

ThyAPI, 336

TinyAjax, 341

Tooltip.js, 351

WZ_dragdrop, 352

WZ_jsgraphics, 352

Xajax, 341

XHConn, 337

XOAD, 341

Yahoo! User Interface Library, 337

ZK, 343

Library General Public License (LGPL), 196

libXmlRequest, 335

licensing, GPL-licensed software, 93

Lightbox JS, 350

loading DOM documents from a string, 171-172

loading datasets, speeding up, 218-232

with AJAX, 234-246

loading indicator (Gmail), 11

loading pages, bookmarks, breaking, 133-134

loggers

adding, 143-144

building, 139-142

login forms, extending, 256-262

logins

trouble-ticketing systems, creating, 299-305

Web logs

adding to, 250-262

XML implementation, 262-269

M

MagicAJAX.NET, 344

manually creating DOM documents, 173-174

mapped PHP classes' API, HTML_AJAX, 197

memorability, Web sites, 121

messages, disappearing messages, creating, 296-297

methods

abort( ), 19

addEventListener( ), 19

cssQuery( ), 348

getAllRequestHeaders( ), 19

getRequestHeader( ), 19

HTML_AJAX, 199-200

JavaScript, utility methods, 211-213

open( ), 17

overrideMimeType( ), 19

PHP utility methods, 213

removeEventListener( ), 19

send( ), 17

setRequestHeader( ), 18

Mochikit, 335

Moo.fx library, 350

Mozilla, event handlers, resetting, 20

Mozilla Firefox, Firebug, 145-151

Mp3act, 83-85

MVC applications, AJAX applications, compared, 329-330

my-tickets component, trouble-ticketing systems, creating, 318-323

N

Nielson, Jakob, 120

Nifty Corners Cube, 350

nodes, finding, XPath, 174-177

non-AJAX data viewers

building, 220-232

problems with, 232-234

O

object-oriented (OO) design, libraries, 94

onChange property (scriptaculous), 187

onerror property (XMLHttpRequest object), 20

onload property (XMLHttpRequest object), 20

onprogress property (XMLHttpRequest object), 20

onreadystatechange property (XMLHttpRequest object), 20

OO (object-oriented) design, libraries, 94

Open Source libraries, 91-95

open( ) method, XMLHttpRequest object, 17

Outlook Express, Hotmail, 4

overlap property (scriptaculous), 187

overLIB, 351

overrideMimeType( ) method, XMLHttpRequest object, 19

P

pagers, 218-219

pages, new HTML content, adding, 42, 44-45

PAJAJ, 340

PEAR (PHP Extension and Application Repository), 196

PHP

libraries, 340-341

utility methods, 213

popup user searches, removing, 80-81

positionOver function, 296-298

primary development languages, JavaScript, 87-88

properties

HTML_AJAX, 200-201, 204-205

XMLHttpRequest object, 20-21

Q-R

Qooxdoo, 336

quickPrint utility method (JavaScript), 212

readyState property (XMLHttpRequest object), 20

readyState variable (XMLHttpRequest object), 20-21

Really Simple Syndication (RSS) feeds, 95

reducing bandwidth use, 105-106

registration component, trouble-ticketing systems, creating, 305-308

Remote Procedure Call. See RPC remote scripting, 9, 54-74

remote stub AJAX, 205, 207-208

removeEventListener( ) method, XMLHttpRequest object, 19

replace method (HTML_AJAX), 199

request flow

AJAX applications, 5-7

Web applications, 5-6

requests

asynchronous requests, sending, 23-24, 27-28

cookies, sending, 36, 38-39

IFrames, 29

sending, 31-36

making, Sarissa, 169-170

types, choosing, 74

XMLHttpRequest object, sending, 16-24, 27-28

responseText property (XMLHttpRequest object), 20

responseXML property (XMLHttpRequest object), 20

reversing strings, RPC (Remote Procedure Call), 59

Rialto, 345

RIAs (Rich Internet Applications), 4-5, 12

rich applications, creating, 106-107

Rico, 335

RPC (Remote Procedure Call), 8, 54

custom XML schemas, 66-72

form POST, mimicking, 60-63

JSON, 72-74

SOAP (Simple Object Access Protocol), 65-66

strings, reversing, 59

URL-encoded AJAX, 64-65

XML consumption, 54-74

RSS (Really Simple Syndication) feeds, 95

S

SACK (Simple AJAX Code-Kit), 336

SAJAX, 346

Sarissa, 169

AJAX requests, making, 169-170

API documentation, 181

development, 181

DOM documents, working with, 171-174

downloading, 169

installing, 169

mixing, 181

nodes, finding, 174-177

sarissa_ieemu_xpath.js file, 181

sarissa_ieemu_xslt.js file, 181

test cases, running, 181

XML

features, 171

transforming, 178, 180-181

string-loading capabilities, 181

XPath, 181

sarissa_ieemu_xpath.js file, 181

sarissa_ieemu_xslt.js file, 181

Scalable Vector Graphics (SVG), 9, 116

Script Debugger error dialog, 158

scriptaculous, 181

development, 192

downloading, 182

drag-and-drop operations, 185-186

functional tests, 192

functions, 192-193

hide/show pairs, 183-184

installing, 182

prepackaged effects and components, 192

slider control, 189-192

sortables, 187-189

visual effects, 182

scripting, remote scripting, 9

security, AJAX applications, 328

send( ) method, XMLHttpRequest object, 17

sending

asynchronous requests, XMLHttpRequest object, 23-24, 27-28

requests

cookies, 36, 38-39

IFrames, 31-33, 35-36

XMLHttpRequest object, 16-24, 27-28

sent data

document-centric consumption, 42-54

DOM, 45-49

XSLT, 50-54

remote scripting, 54-74

serialization classes, HTML_AJAX, 214

server-side music management systems, Mp3act, 83-85

servers

communication layer

cookies, 36-39

IFrames, 29-36

XMLHttpRequest object, 16-24, 27-28

libraries, 340-346

session inspector interface (Fiddler), 154

setRequestHeader( ) method, XMLHttpRequest object, 18

Simple AJAX Code Kit (SACK), 336

Simple Object Access Protocol. See SOAP slider control, scriptaculous, 189-190, 192

SlideUp (scriptaculous), 183

SOAP (Simple Object Access Protocol), 54

XML-RPC (Remote Procedure Call), 65-66

sortables, scriptaculous, 187-189

Sorttable library, 351

standard.php, Sun Rise and Set data viewer, 228-232

startLoad function, 238-239

status icon (Firebug), 147

status property (XMLHttpRequest object), 20

statusText property (XMLHttpRequest object), 20

strings

DOM documents, loading from, 171-172

reversing, RPC (Remote Procedure Call), 59

Sun Rise and Set data viewer, 218-220

non-AJAX version

building, 220-226, 228-232

graph.php, 228

problems with, 232-234

standard.php, 228, 230-232

SunRiseSet class, 222-226, 228

SVG (Scalable Vector Graphics), 9, 116

T

table paging widgets, 101-103

technologies, AJAX, 7-9

test cases, Sarissa, running, 181

TextView view (Fiddler), 156

ThyAPI, 336

ticket-creation component, trouble-ticketing systems, creating, 310-312

ticket-editor component, trouble-ticketing systems, creating, 312-314, 317-318

tickets, trouble-ticketing systems, 276

TinyAjax, 341

Toolbox (AJAX), 334

Tooltip.js, 351

transforming XML with XSLT, 178-181

trouble-ticketing systems

account-editing component, creating, 308-310

assign-tickets component, creating, 323-328

back end

creating, 275-280

exporting, 282-288

building, 272-274, AJAX reliance scale, 274-275

components, 272

JavaScript application, building, 288-299

login component, creating, 299-305

my-tickets component, creating, 318-323

tasks, 273

ticket-creation component, creating, 310-312

ticket-editor component, creating, 312-314, 317-318

tickets, 276

user tables, 276

user-registration component, creating, 305-308

U

undo operations, preventing with autosave, 129

undoing actions, providing, 123

URL-encoded AJAX, RPC, 64-65

usability, Web sites, 120-121

common problems, 125-134

guidelines, 121-125

user searches, popup user searches, removing, 80-81

user tables, trouble-ticketing systems, 276

user-registration component, trouble-ticketing systems, creating, 305-308

users

expectations, accommodating, 122

focus

maintaining, 123

validation messages, 125-128

selecting, 108, 110-115

Web site updates, recognition, 130-132

utility methods, 211-213

Uversa Inc., 93

V

validation messages, stealing focus with, 125-128

varDump utility method (JavaScript), 212

variables, dumping variables, JavaScript, 161-162

vertical mode (scritaculous slider control), 189-190

viewers

AJAX viewers, building, 234-246

Sun Rise and Set data viewer, 218-220

non-AJAX version, 220-234

visual effects, scriptaculous, 182

W

Web 2.0, 4

Web applications

request flow, 5-6

usability, 120-121

common problems, 125-134

guidelines, 121-125

Web Hypertext Application Technology Working Group (WHATWG), 116

Web logs

comments, login forms, 256-259, 261-262

logins

adding, 250-251

building, 250-262

XML implementation, 262-269

Web page loads, speeding up, 218-232

with AJAX, 234-246

Web sites

intranet Web sites, developing, 97

new HTML content, adding to, 42, 44-45

updating, user recognition, 130-132

usability, 120-121

common problems, 125-134

guidelines, 121-125

Web-based stores, AJAX, requiring, 134

Web-based trouble-ticket systems

account-editing component, creating, 308-310

assign-tickets component, creating, 323-328

back end

creating, 275-280

exporting, 282-288

building, 272-275

components, 272

JavaScript application, building, 288-299

login component, creating, 299-301, 303-305

my-tickets component, creating, 318-323

tasks, 273

ticket-creation component, creating, 310-312

ticket-editor component, creating, 312-314, 317-318

tickets, 276

user tables, 276

user-registration component, creating, 305-308

WHATWG (Web Hypertext Application Technology Working Group), 116

WZ_dragdrop, 352

WZ_jsgraphics, 352

X

Xajax, 341

XAML (Extensible Application Markup

Language), 116

XHConn, 337

XML

custom XML schemas, RPC, 66-72

document-centric data consumption

DOM, 45-49

XSLT, 50-54

popularity of, 8

remote scripting, 54-74

Sarissa, 171

XML User Interface Language (XUL), 117

XML-RPC, SOAP, 65-66

XMLHttpRequest, 9

XMLHttpRequest object (JavaScript), 16-17

abort( ) method, 19

addEventListener( ) method, 19

asynchronous requests, 23-24, 27-28

cross-browser creation, 21-23

getAllRequestHeaders( ) method, 19

getRequestHeader( ) method, 19

open( ) method, 17

overrideMimeType( ) method, 19

properties, 20-21

readyState variable, 20-21

removeEventListener( ) method, 19

requests, sending, 16-24, 27-28

send( ) method, 17

sent data

document-centric consumption, 42-54

remote scripting, 54-74

setRequestHeader( ) method, 18

XOAD, 341

XPath, Sarissa, 181

node searches, 174-177

XSLT (eXtensible Stylesheet Language Transformations)

data consumption, 50, 52-54

transforming, 178, 180-181

XUL (XML User Interface Language), 117

Y-Z

Yahoo! User Interface Library, 337

ZK library, 343

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.156.35