Essentials of Javascript - Cultural View
Essentials of Javascript - Cultural View
Essentials of Javascript - Cultural View
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Ajax (programming) 48<br />
Ajax (programming)<br />
Ajax (pronounced English pronunciation: /ˈeɪˌdʒæks/) (shorthand for Asynchronous JavaScript and XML [1] ) is a group<br />
<strong>of</strong> interrelated web development techniques used on the client-side to create interactive web applications. With Ajax,<br />
web applications can retrieve data from the server asynchronously in the background without interfering with the<br />
display and behavior <strong>of</strong> the existing page. The use <strong>of</strong> Ajax techniques has led to an increase in interactive or dynamic<br />
interfaces on web pages. Data is usually retrieved using the XMLHttpRequest object. Despite the name, the use <strong>of</strong><br />
XML is not actually required, nor do the requests need to be asynchronous. [2]<br />
Like DHTML and LAMP, Ajax is not a technology in itself, but a group <strong>of</strong> technologies. Ajax uses a combination <strong>of</strong><br />
HTML and CSS to mark up and style information. The DOM is accessed with JavaScript to dynamically display,<br />
and to allow the user to interact with the information presented. JavaScript and the XMLHttpRequest object provide<br />
a method for exchanging data asynchronously between browser and server to avoid full page reloads.<br />
History<br />
In the 1990s, most web sites were based on complete HTML pages; each user action required that the page be<br />
re-loaded from the server (or a new page loaded). This process is not efficient, as reflected by the user experience (all<br />
page content disappears then reappears, etc.). Each time a page is reloaded due to a partial change, all <strong>of</strong> the content<br />
must be re-sent instead <strong>of</strong> just the changed information. This can place additional load on the server and use<br />
excessive bandwidth.<br />
Asynchronous loading <strong>of</strong> content first became practical when Java applets were introduced in the first version <strong>of</strong> the<br />
Java language in 1995. These allow compiled client-side code to load data asynchronously from the web server after<br />
a web page is loaded. [3] In 1996, Internet Explorer introduced the IFrame element to HTML, which also enabled<br />
asynchronous loading. [4] In 1999, Micros<strong>of</strong>t created the XMLHTTP ActiveX control in Internet Explorer 5, which<br />
[4] [5]<br />
was later adopted by Mozilla, Safari, Opera and other browsers as the native XMLHttpRequest object.<br />
Micros<strong>of</strong>t has adopted the native XMLHttpRequest model as <strong>of</strong> Internet Explorer 7, though the ActiveX version is<br />
still supported. The utility <strong>of</strong> background HTTP requests to the server and asynchronous web technologies remained<br />
fairly obscure until it started appearing in full scale online applications such as Outlook Web Access,(2000) [6]<br />
Oddpost (2002), and later, notably Google made a wide deployment <strong>of</strong> Ajax with Gmail (2004) and Google Maps<br />
(2005). [7]<br />
The term "Ajax" was coined in 2005 by Jesse James Garrett. [1] However, a patent application covering this type <strong>of</strong><br />
user interface was filed on September 3, 2003, thus predating the term itself by two years. This application resulted<br />
in US Patent #7,523,401 being issued to Greg Aldridge <strong>of</strong> Kokomo, IN. [8]<br />
On April 5, 2006 the World Wide Web Consortium (W3C) released the first draft specification for the object in an<br />
attempt to create an <strong>of</strong>ficial web standard. [7]<br />
Technologies<br />
The term Ajax has come to represent a broad group <strong>of</strong> web technologies that can be used to implement a web<br />
application that communicates with a server in the background, without interfering with the current state <strong>of</strong> the page.<br />
In the article that coined the term Ajax, [1] Jesse James Garrett explained that the following technologies are required:<br />
• HTML or XHTML and CSS for presentation<br />
• the Document Object Model for dynamic display <strong>of</strong> and interaction with data<br />
• XML for the interchange <strong>of</strong> data, and XSLT for its manipulation<br />
• the XMLHttpRequest object for asynchronous communication<br />
• JavaScript to bring these technologies together