## Contents
* 1 Definition
* 2 Standards and reference
* 3 Interesting AJAX applications
* 4 A simple example
* 5 Software
* 5.1 JavaScript toolkits
* 6 Links
* 7 References
* 7.1 Technical how-to
## 1 Definition[edit | edit source]
According to Wikipedia: "Ajax, shorthand for Asynchronous JavaScript and XML, is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is meant to increase the web page's interactivity, speed, and usability.", retrieved 15:11, 9 February 2007 (MET).
The Ajax technique uses a combination of:
* XHTML (or HTML) and CSS, for marking up and styling information.
* The DOM accessed with a client-side scripting language, usually ECMAScript (JavaScript)
* The XMLHttpRequest object is used to exchange data asynchronously with the web server.
* XML is sometimes used as the format for transferring data between the server and client.
## 2 Standards and reference[edit | edit source]
The XMLHttpRequest object implements an interface exposed by a scripting engine that allows scripts to perform HTTP client functionality, such as submitting form data or loading data from a server. It's the core functionality of so-called AJAX and works in most browsers, but not exactly the same way. Standardization may happen in some near future. DKS/April/2008
* The XMLHttpRequest Object (W3C Working Draft, April 2008). This specification proposal also outlines dependencies with other specifications like DOM, HTML 5, and HTTP.
## 3 Interesting AJAX applications[edit | edit source]
Discussed in this wiki
* AJAX3D
* DITA Storm
* Through the web editors
* Webtops and other Mashups, i.e. web widgets (e.g. Universal Widget API or Pageflakes API)
* Personal learning environments (maybe some)
* Virtual offices (some)
## 4 A simple example[edit | edit source]
AJAX is really simple. The difficult part is to write really good interfaces (see toolkits in the links section) and to do something with these data on the server side ...
* Below we just demo a simple HTML page that will talk to php (Disclaimer: Daniel K. Schneider is not a programmer).
* Example files are here
HTML/JavaScript
Simple Ajax example
Simple Ajax example
Please click on a fruit:
- I like
apples
- I like
oranges
- I like
bananas
Dialog history:
PHP
';
if (array_key_exists('user_pref_fruit', $_POST))
{ $user_pref = $_POST['user_pref_fruit']; }
else
$user_pref="nothing";
echo "";
echo "Oh you like " . $user_pref . " !";
// echo "Oh you like " . $user_pref . " !" . " - Query String=" . $_SERVER["QUERY_STRING"];
echo "";
## 5 Software[edit | edit source]
### 5.1 JavaScript toolkits[edit | edit source]
jQuery library
* jQuery homepage
* jQuery API
Dojo (free software)
* "dojo is the Open Source Javascript toolkit that makes professional web development better, easier, and faster" (retrieved 15:11, 9 February 2007 (MET))
* dojo toolkit homepage
* Dojo manual: http://manual.dojotoolkit.org/WikiHome
* http://dojotoolkit.org/docs/rich_text.html
Aculo (free software)
* "script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly." (retrieved 15:11, 9 February 2007 (MET))
* Aculo Home Page
* Script.aculo.us documentation wiki
Prototype.js library
* Prototype Home Page
* Prototype window
* "This amazingly well thought and well written piece of standards-compliant code takes a lot of the burden associated with creating rich, highly interactive web pages that characterize the Web 2.0 off your back." (retrieved 15:11, 9 February 2007 (MET))
* Unofficial Prototype documentation by Sergio Pereira
* Amy Hoy's Cheat Sheet
* Jonathan Snook's Prototype Dissected
## 6 Links[edit | edit source]
* Category:Ajax (programming) (Wikipedia) is a good starting point.
* Dynamic HTML and XML: The XMLHttpRequest Object \- Apple Developer Connection, 2004
* Ajax (programming). Ajax or Asynchronous JavaScript and XML is a term describing a web development technique for creating interactive web applications (Wikipedia Article, 2005)
* Asynchronous JavaScript Technology and XML (AJAX) With Java 2 Platform, Enterprise Edition (!), technical Sun Developer Network article, June 2005)
* AJAX : Demystifying the buzz for all platforms. @ Web Forefront Mai 2005. Short intro article
* Putting AJAX to work InfoWorld article, (mostly a product overview)
* Beyond AJAX and JavaServer Faces, AJAXWorld Magazine, sept 2007
## 7 References[edit | edit source]
### 7.1 Technical how-to[edit | edit source]
* Vlad Kofman (2007), The Web 2.0 Movement Is Here. But What Does It Mean to You?, Developper.com Atricle, HTML