- XHTML (or HTML) and CSS for presenting information
- The XMLHttpRequest object to exchange data asynchronously with the web server. (XML is commonly used, although any format will work, including preformatted HTML, plain text, JSON and even EBML)
Ajax is not new technology, it is combinations of known technologies together. The techniques have been in use since around 1998.
Traditional web applications essentially submit forms, completed by a user, to a web server. The web server responds by sending a new web page back. Because the server must submit a new page each time, applications run more slowly and awkwardly than their native counterparts.
One major complaint voiced against the use of Ajax in web applications is that it might easily break the expected behavior of the browser’s back button. Returning to the previous state may not be possible when a page is updated dynamically, since browsers typically record only static page visits in their history lists. The distinction between a static page, loaded in its entirety, and a page which has been modified dynamically might be a subtle one; users generally expect that clicking the back button in web applications will undo their last change and in Ajax applications this might not be the case
Web developers use Ajax in some instances to provide content only to specific portions of a web page, allowing data manipulation without incurring the cost of re-rendering the entire page in the web browser. Non-Ajax users would optimally continue to load and manipulate the whole page as a fallback, allowing the developers to preserve the experience of users in non-Ajax environments (including all relevant accessibility concerns) while giving those with capable browsers a much more responsive experience.
Ajax is suported by every browser:
- Apple Safari 1.2 and above
- Internet Explorer (and derived browsers) 4.0 and above
- Mozilla Firefox (and derived browsers) 1.0 and above
- Netscape 7.1 and above
- Opera 7.6 and above
PHP Scripts and libraryes for ajax
- XOAD (formerly NAJAX) PHP based AJAX/XAP object oriented framework.
- xajax PHP Ajax toolkit
- sajax Simple Ajax Toolkit by ModernMethod
- pajax Pajax toolkit
- symfony PHP framework with AJAX integration (based on Rails and script.aculo.us)