As taken from http://alexbosworth.backpackit.com/pub/67688, there are a couple of things to avoid/think about before using AJAX:
- Using Ajax for the sake of Ajax
When you took AJAX as a cool toy
- Breaking the back button
Back button is for the whole page, given that pages doesn’t refresh on AJAX actions, it is dysfunctioned
- Not giving immediate visual cues for clicking widgets
AJAX means wait for action complete without refreshing pages. But refreshing a page can be a visual clue to the users, which AJAX removed it. Work around: The red “loading…” at the top-right corner in Gmail.
- Leaving offline people behind
Offline = no AJAX. So you can’t open a tab or so.
- Don’t make me wait for Ajax
In case the network is slow, it sucks.
- Sending sensitive information in the clear
- Assuming AJAX development is single platform development
There is one non-standard browser flying around: IE
- Too much code makes the browser slow
- Inventing new UI conventions
DIV can be clicked? People expects buttons. So give more clue.
- Changing state with links (GET requests)
A fetched page will have different look-and-feel at different time, which confuses cache.
- Blinking and changing parts of the page unexpectedly
Annoying and confusing
- Not using links I can pass to friends or bookmark
AJAX can’t be bookmarked, unless extra work is done, preferably by the server side, such as providing a “bookmark this” button.
- Not cascading local changes to other parts of the page
- Asynchronously performing batch operations
Synchronization on parallel tasks
- Scrolling the page and making me lose my place
- Blocking Spidering
Even if you allow people to bookmark it, search engine can’t correctly index the page.
So you got a list of reasons to turn down the use of AJAX.