25 Excellent Ajax Techniques and Examples

June 2nd, 2008 by Jacob Gube | 71 Comments | Stumble It! del.icio.us

Ajax allows for rich-internet applications that mimic the responsiveness and complex user interfaces typically associated with desktop applications. Moving applications to the web browser opens many possibilities, including the ability to save user data, connecting with other users for collaboration and sharing, and making deployment and using the application easier since web browsers are standard-issue with most computers regardless of operating system.

If you’re interested in expanding your understanding of Ajax techniques and practices, check out these 25 hand-picked Ajax articles and tutorials that outline various methods and concepts involved in the development of Ajax-based applications. Though most are geared for budding and intermediate developers, veterans might find a trick or two they haven’t encountered before.

1. Ajax RSS reader

Ajax RSS reader - Screenshot

Build a simple RSS reader that takes remote XML data from RSS feeds using Ajax, PHP, and MySQL. This example allows users to view feed content from multiple sources in one page. At the bottom of the article, you’ll find an animated demonstration of the RSS reader.

2. Ajax Desktop Tutorial

Ajax Desktop Tutorial - Screenshot

This tutorial is a step-by-step guide on how to create a desktop/homepage similar to Pageflake and Netvibes. The goal of this tutorial is to showcase some common techiques involved in developing web-based applications like manipulating the Document Object Model (DOM), listening to events (i.e. certain mouse movements), and working with remote data.

3. Ajax for Chat

Learn to build a simple web-based chat client using asynchronous JavaScript, XML, and PHP. The tutorial’s example utilizes the Prototype JS framework, MySQL, and PHP.

4. Create your own information space with Ajax and del.icio.us

This article outlines the basic foundations of using Ajax alongside an API service. It uses the del.icio.us API, but the methods and concepts can be adapted to other popular services such as Digg’s or Flickr’s. It’s an essential resource for those contemplating on creating web applications that use remote XML data - a couple of live examples are popurls and SocialBlade, which obtains information from social media sites using available API services. This tutorial requires you to register (for free).

5. Ultra-lightweight Charts For AJAX

Ultra-lightweight Charts For AJAX - Screenshot

See how to create a super-lightweight (1.78 KB) charting component using Flash with Ajax. The example allows you to generate visual graphs using dynamically-loaded data. The solution involves ActionScript-JavaScript communication, and covers the use of the setData and setStyle ActionScript methods for generating and styling the charts.

6. Quick Calendar Using AJAX and PHP

Quick Calendar Using AJAX and PHP - Screenshot

Learn how to create a calendar component using Ajax and PHP. Ajax is used for navigating through the calendar months without refreshing the page.

7. How to integrate Google Calendar in your website using AJAX

How to integrate Google Calendar in your website using AJAX - Screenshot

This tutorial shows you how to create a web page component that calls a publicly available Google calendar. Google Calendar allows you to easily create, share, and manage events and is an excellent feature for community websites.

8. Edit In Place with AJAX Using jQuery

Edit In Place with AJAX Using jQuery - Screenshot

In this example, users are given the ability to edit the XHTML of the web page they’re currently viewing. The example is a proof-of-concept – presenting how this functionality can be achieved using jQuery. Normally, you’d want to send the user’s edits to server-side code to perform processes such as validation or saving the changes in a database.

9. Creating an AJAX Rating Widget

Creating an AJAX Rating Widget - Screenshot

Learn the concepts of creating a rating system without prompting the user to click a submit button or refreshing the page. The tutorial showcases how you can do this in a variety of ways by including examples for the following four JavaScript frameworks/libraries: Dojo, jQuery, mootools, and Prototype JS.

10. AJAX file upload tutorial

AJAX File Uploader - Screenshot

In this tutorial, you’re shown how to create a file uploader. The tutorial uses JavaScript and PHP.

11. Use AJAX and PHP to Build your Mailing List

This tutorial from SitePoint walks you through the development of a mailing list form that accepts submissions asynchronously. It uses MySQL for storing the data inputted by the user and Prototype JS for simplifying Ajax requests and binding event handlers.

12. Safer Contact Forms Without CAPTCHAs

Safer Contact Forms Without CAPTCHAs - Screenshot

One way to reduce spam from public web forms is to implement a system to verify if the submitter is human by using image CAPTCHAs. Problems arise with accessibility when individuals using visual assistive technologies are presented with the test (and thus cannot continue on). This simple technique uses an Ajax call to a server-side script to drop a cookie on the user’s computer.

13. Using AJAX with CAPTCHA

Using AJAX with CAPTCHA - Screenshot

Avoiding the use of image-based CAPTCHAs is a good idea. With that said, many sites still prefer using this technique to distinguish between humans and computers. If forgoing web accessibility is appropriate for your situation, this article outlines a unique method for administering CAPTCHA tests. The user is presented with a sequence of descriptions (i.e. Animal, Costume, Boy), and asked to click on a set of images in sequential order. The clicks are recorded and validated, returning the appropriate status message. Though probably not an ideal solution to CAPTCHAs, it does outline a fundamental technique for developing responsive user interfaces - use it for inspiration.

14. Ajax-based login form

Ajax-based login form demo - Screenshot

Create a basic login form that asynchronously validates the inputted data. The example uses the jQuery form plugin and PHP to process the request.

15. Nice Ajax effect for message box using Mootools

Nice Ajax Effects for messages - Screenshot

In this example, a message box that fades after a specified duration is displayed when the user clicks on the “save” button. This is a model for supplying users with the status of their request, and an real Ajax request should typically happen when the user clicks on the “save” button.

16. AutoCompleter Tutorial

AutoCompleter Tutorial - Screenshot

The AutoCompleter tutorial teaches you how auto completion of input fields can be accomplished. The example uses jQuery, PHP, and MySQL.

17. Auto-populating Select Boxes using jQuery & AJAX

Auto-populating Select Boxes using jQuery & AJAX - Screenshot

A key technique in Ajax applications is to populate content without a page refresh. In this tutorial, you’ll witness how this is done with a PHP and JavaScript (jQuery to make it easier).

18. Build an Ajax Dropdown Menu

Here’s a basic example of working with external data to load content into a drop-down menu - from our beloved Webmonkey. Though the example uses a text file, you can use your own data source when applying the technique to your own purposes.

19. Ajax/PHP Shoutbox Tutorial

Ajax Shoutbox - Screenshot

Make an Ajax-powered shoutbox using PHP and JavaScript. This tutorial walks you through the server-side and client-side requirements of creating a shoutbox, which can be adapted to other functions such as a commenting system.

20. Building Tabbed Content

Building Tabbed Content - Screenshot

Learn how to build a tabbed content component with the data populated via Ajax. The tutorial uses PHP and Prototype JS.

21. How to Load In and Animate Content with jQuery

Load In and Animate Content - Screenshot

This step-by-step tutorial shows you how to load data into a web page using jQuery to handle the Ajax request and manipulation of the DOM.

Best practices and workaround techniques to common issues

22. The Hows and Whys of Degradable Ajax

The Hows and Whys of Degradable Ajax - Screenshot

This article discusses the concept of creating Ajax-based applications that degrades effectively when JavaScript is not detected, providing increased accessibility and bulletproof-ness. Completely successful degradation means that an application is still usable and information is still accessible without reliance to JavaScript or CSS.

23. Avoid unnecessary Ajax traffic with session state

This article presents a method for minimizing unneeded database/computational processes and avoiding large status updates if no changes have occurred. By using client cookies to keep track of the session’s state, you can cut down on processes that may be redundant. Though the article presents an example using Python for server code – the model remains the same in virtually any language you use.

24. A Better Ajax Back Button Solution

Here’s a workaround to issues pertaining to Ajax-loaded content breaking web browser controls and bookmarking capabilities. The solution involves firing off a function at a set interval that checks the #value of the URL, and then presenting the correct content. It restores the ability to bookmark the content. In Part 2 of the article, you’ll see a working example and additional discussion of this method.

25. Making Ajax Work with Screen Readers

Making Ajax Work with Screen Readers - demonstration Screenshot

One of the biggest drawbacks of loading content via Ajax is that it fails to indicate an update of the content to users who are reliant on screen readers. For people who are not visually-impaired – messages and status indicators can be visual queues that the content is changing; this isn’t effective for users with visual impairments. This article draws out the underlying issues and proposes techniques to make Ajax-based applications work with screen readers.

There we have it… some brilliant Ajax techniques and examples. I hope you’ve found some links of interest that will help you in a future project or in advancing your command of Ajax.

Have you got your own favorite link? Let’s see it by dropping a message in the comments section.

71 Comments

chazzuka

June 2nd, 2008

great list and thanks for listing mine up above :)

SEOHat

June 3rd, 2008

Ajax/PHP Shoutbox Tutorial is very useful, thanks for the pointers, great post!

Lawrence

June 3rd, 2008

Excellent revisions. As an ajax programmer, i find useful information. Thanks!

dectus

June 3rd, 2008

cool list!
will use some of them for my photoblog (http://photoblog.dectus.com)

AK

June 3rd, 2008

I especially like the mootools and scriptaculous from woork.

Jack Webber

June 3rd, 2008

Wow, Ajax seems to be a very nice and useful tool. I like it!

JW
http://www.FireMe.To/udi

Matt

June 3rd, 2008

Another great post. I use a lot of jQuery on my site because its so easy to integrate into Drupal. Some good Ajax implementations in Drupal modules, read easy to get going, are http://drupal.org/project/ajax_validation , http://drupal.org/project/username_check , and http://drupal.org/project/jstools .

Adam Fitch

June 3rd, 2008

Decent selection of practical use applications.

nemo

June 3rd, 2008

Good example of many of these things is Zimbra. They have an awesome Ajax web interface to their email server; http://www.zimbra.com

seo

June 3rd, 2008

I like the captcha idea. I shall see if I can use it with Pligg. Can’t see what it would not work. Thanks!

Jason Nethercott

June 3rd, 2008

Brilliant list!
I’m completely new to Ajax but just reading through the list gives me a much better picture of some of its capabilities. It will be great to come back later and have a good look at the tutorials. Thanks.

Brandon

June 3rd, 2008

Wow great stuff here. I’ll be book marking this to go through everything. I’ve already done a couple of these while getting started on Ajax, but I can see there’s plenty more to learn. Thanks, it’ll keep me busy for a while!

Ash

June 3rd, 2008

Regarding number 10. that isn’t ajax its using iframes.

Ajax file uploaded is impossible by design. unless browser side hacks are done.

Punit Pandey

June 3rd, 2008

Good post. keep it up.

Ramesh Raj Baral

June 3rd, 2008

Thats a great collection and these are all the things that we need to do when using general web sites.I greatly liked them.
Thanks!

Mikael Bergkvist

June 4th, 2008

Nice collection.
Maybe we should have been included though? ;-)

http://www.widgetplus.com

website design

June 4th, 2008

still, this is lame.

Alejandro

June 4th, 2008

Nice compilation, thank you

stelt

June 4th, 2008

About #5: I’d use SVG instead of the inaccessible Flash.
More on SVG via http://svg.startpagina.nl

Gabe

June 4th, 2008

Nice list.

Xx JustMe xX

June 5th, 2008

that’s nice.
I’ll bookmark this page ^_^

http://www.mara7net.com/phpbb/

Ravi Shankar

June 5th, 2008

This is really a great hub of Ajax collection. Keep going

joko

June 6th, 2008

thanks alot

Alastair

June 7th, 2008

I came from blog.artvaygraphics.com/?p=150 - nice work on the images! Bookmarked in del.icio.us.

Stef

June 8th, 2008

Me too - didn’t even realize he/she was copying your content until I saw those images.

Matt Foster

June 10th, 2008

Good stuff, I particularly like the “avoid unnecessary ajax traffic” A very good article indeed… “Bandwidth saved is bandwidth earned”, classic!

web design company

June 12th, 2008

Awesome roundup of Ajax tutorials

Luis

June 13th, 2008

Muy buenos tutos gracias
saludos

Aaron Leventhal

June 26th, 2008

I would replace #25. A more up-to-date article on AJAX accessibility (WAI-ARIA live regions) is here:
http://ejohn.org/blog/ajax-accessibility/

gilbeRt_fox

July 8th, 2008

thanks!!

can I mention it on my weblog?

July 30th, 2008

Hello,
Can I mention your good weblog on my wordpress weblog indicated in the website field ?
Best regards,
dgs

krishna.net.np

August 5th, 2008

Just Cool Collections, I liked them and will be using too.

Leave a Comment