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
Something we have to care about: doing encryption in Javascript. - Assuming AJAX development is single platform development
There is one non-standard browser flying around: IE - Too much code makes the browser slow
Remember: Javascript runs on client browser - Not having a plan for those who do not enable or have JavaScript
Still, 11% people don’t support JavaScript. - 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.