Asynchronous Javascript And XML

Created by: Stephan Borg, Last modification: 09 Nov 2005 (19:15 UTC) by spiderr
From http://en.wikipedia.org/wiki/AJAX:
Asynchronous JavaScript and XML, or Ajax, is a web development technique for creating interactive web applications using a combination of:
  • HTML (or XHTML) and CSS for presenting information
  • The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented
  • The XMLHttpRequest object to exchange data asynchronously with the web server. (XML is commonly used, although any text format will work, including preformatted HTML, plain text, and JSON)

Bitweaver Implementation

  • User registration improvements (see if username, email, etc. are already registered)
  • Inline content filtering (MikeW)
  • LibertyForms - SDLC record updates and configurable forms (wolff_borg)
  • Preference saving (wolff_borg)
  • Dynamic center content (Xing)
  • Using a single IFRAME for updates
    • To get around having to refresh the entire page, you could use one hidden IFRAME to do the regular refreshes and provide the updated data to the other AJAX modules. Each module would register with the IFRAME module to "hear" their own updates through the IFRAME. The same system could apply to #bitmain content. You could essentially load up the BW page once - and do the rest through AJAX.
    • Here is an example scenario: You have a module, that displays your email folders - and you'd like it to update every minute to display unread emails in your inbox. The email folders module, would register with the IFRAME to say, "I want to know if the number of emails in my inbox changes from this value". Now everytime the IFRAME refreshes, it has a list of task (functions) to perform and see what values return. If a value is different, it notifies the email folders module, and says, "You now have x emails in your inbox" - and the module updates accordingly.
  • Display a dynamic dropdown box of matching WikiPages when creating a WikiLink in the edit field. (MikeW)

The AJAX implementation in BitWeaver should be unobtrusive to users and degrade gracefully in older browsers (i.e. not required for the user to operate the site) but still provides something useful to users who can support whatever AJAX method we use.

PHP/AJAX Toolkits

PHP/AJAX Tutorials and Applications