Académique Documents
Professionnel Documents
Culture Documents
What is Ajax?
"Asynchronous
New
JavaScript
+ DHTML + XMLHttpRequest
In use since at least 1997
I've used it since 2000
Finally someone gave it a name
Already enabled in your Web server and browser
Use
Not
across browsers
No
Continued
Apps:
Dynamic data
Static forms, controls, code, etc.
Efficient, but not flexible
Traditional
Web Apps:
Dynamic data
Dynamic forms, controls, code, etc.
Flexible, but inefficient, and noticeably slow
Ajax
Apps:
Dynamic data
Static or dynamic forms, controls, code, etc.
Best of both worlds.
Continued
reasons:
Multithreaded
Less
No
do
One
Start
XMLHttpRequest Methods
send (params)
getResponseHeader (header)
getAllResponseHeaders ()
abort ()
setRequestHeader (label,value)
Continued..
XMLHttpRequest
Properties
onreadystatechange
readyState
0 = uninitialized 3 = interactive (some data has been returned)
1 = loading (broken in IE 6.0)
2 = loaded 4 = complete
status
responseText
responseXML
statusText
Simple Example
var req = new XMLHttpRequest();
req.onreadystatechange = myHandler;
req.open("GET", "servlet", true);
req.send("p1=abc");
...
function myHandler() {
if (req.readyState == 4) {
doSomethingWith(req.responseXML);
}
else if (req.readyState == 3) {
showProgressIndicator();
}
}
Demos
Simple
More
demo
demos
Google Suggest
Google Maps
Language translation
Mouse gesture as password
Typing speed as password
Classified ads tied to map
"Mashups"
Security Issues
Can
Advanced Topics
XSLT and XPath support (Sarissa)
Serializing Java Beans as XML
Ajax Frameworks
Ajax Patterns