Ajax (web technology)

From Citizendium
Revision as of 11:45, 30 July 2008 by imported>Luke Cheng
Jump to navigation Jump to search

Introduction

AJAX - an acronym for Asynchronous JavaScript And XML - is a web technology that enhanced the end users web browsing experience by streamlining background web content request, as opposed to generating and serving up new pages for every change or update to the web page. The premise of AJAX is to allow for light weight calls to a web server and update the web page currently display with re-rendering the entire page, but only the affected portion(s). The calls are made by means of the XMLHTTPRequest object built into the newer versions of JavaScript, but older browser may mimic AJAX behavior with another technique using JavaScript and FRAMEs known as Remote Scripting. In fact, AJAX has become so popular that is has forced some browsers to implement it natively without use of COMs such as ActiveX and creating a standard built in object.
AJAX is used to create better, faster, and more user-friendly web applications. Ajax is not exactly a new programming language, but a new way to implement existing standards.

Constituents

AJAX may include the use of a range of web technologies such as JavaScript, XML:XML(eXtensible Mark Language), DOM:DOM(Document Object Model) , CSS CSS(Cascading Style Sheets), but does not necessarily mean they are necessary.

An odd fact is that none of the technologies mentioned above are mandatory to create an AJAX page or at least an AJAX like functionality. For instance, one could use an inline frame that contains a document that uses META Refresh to poll and update content on a portion of the inline frame's parent element. XML is just one of the formats the response can be sent and in many cases JSON JSON(JavaScript Object Notation is often an easier and better choice and raw HTML or plain text can be sent as well. Despite its name, AJAX does not have to be asynchronous, and sometimes it is erroneously applied to be a simple function in a JavaScript library.