When *not to* use AJAX

By Angsuman Chakraborty, Gaea News Network
Monday, April 18, 2005

An example of wrong usage of AJAX aka XmlHttpRequest based web applications - TinkingTeam Corporate Website. Here the menu content is dynamically fetched using Ajax.

This is bad because:

  • Search engines like google cannot see it.
  • Users cannot bookmark the pages.
  • It doesn’t indicate anything is happening, which can be bothering over slow connections. This can be remedied by an “in progress” message like GMail.

The first two points reminds me of Flash only pages.

Ajax is good for dynamic content update within a page. It should not be used to replace the page paradigm of web documents.

Discussion

Prasad
February 13, 2008: 3:20 am

yeah …
But Using ajax i can make my grid wrk like Excel … [cant have dreamt of that without ajax ]

June 16, 2007: 4:17 am

hi, i found a full ajax website, and the back button works : https://itbreaks.net

October 8, 2005: 1:48 am

If you decide that you want to make a Web application, and not just a static Web page… https://tom.gilki.org/programming/javascript/Login/

You can do your best to ensure that you users get the best experience by following some common practices.


ryan
May 15, 2005: 6:58 pm

Yeah, synchronous loading defeates the entire purpose. It’s posisbly even worse than the traditional method as your browser freezes. You may as well reload the entire page.

It’ll be the next tech abused by bad clients and bad developers. ;)


Steve
May 11, 2005: 8:22 am

Geez … it also appears to use synchronous ajax loading, freezing my browser when the site isn’t responding quickly enough.

This is terrible!

May 9, 2005: 10:48 am

[...] explains the technique here in a helpful walkthrough. UPDATE: He also links to nice post how not to use AJAX. This entry was posted [...]

May 9, 2005: 9:23 am

Ajax and weblogs

If you take a look at the front page of kottke.org, you’ll notice a pulldown at the top of the content column (on the left). When you mouse over the menu, you’re presented with a list of choices of what to display in that column and when you click on…


phi
April 23, 2005: 4:28 am

unless of course, you’re building an intranet application to replace chunks of say lotus, access, php-groupware etc.. in which case you ditch the back button entirely because you don’t want your users to think that it is in fact ‘just’ a web page, and you use ajax whereever makes sense.
if ajax breaks the back button, you aren’t required to ditch ajax.. you could also ditch the back button. of course, for most apps, this is completely inapplicable and would be very bad form.

April 19, 2005: 5:19 am

I agree. Back button is very integral to the web experience. Users have become accustomed to it.

April 19, 2005: 4:40 am

Everything you said applies. But the worst part of that implementation, if you as me, is that the back button is destroyed. Click a menu item view a page, hit back to view the page I was just on and poof, I’m whisked off their site and back to wherever I was before. (Or, nothing at all happens, if I arrived via bookmark.)

No matter what web designers may or may not believe when they put together a page, users use the back button all the time. Especially on slow connections. Anything that breaks its function should be done with EXTREME caution.

YOUR VIEW POINT
NAME : (REQUIRED)
MAIL : (REQUIRED)
will not be displayed
WEBSITE : (OPTIONAL)
YOUR
COMMENT :