Ensuring that content is available to users (and user agents) without JavaScript (or ActiveX).
Hijax solves this problem.
Use your own server as a proxy to process web services.
Example: Yahoo! News Search (JS)
It can be hard.
Live with it.
If a page should be bookmarkable, maybe you shouldn't be using Ajax.
You could provide a "bookmark this page" link, updating its href
attribute every time you perform an Ajax action.
As a rule of thumb: don't change too much of the current page.
The back button problem isn't new:
Examples: Contact form (JS), Shopping cart (JS), Yahoo! News Search (JS),
It's the secret to good cookery.
The more complicated you make something, the greater chance there is that something will go wrong.
When you use Ajax, try to keep the amount of client-side work to a minimum.
Ajax can enhance your website, but your website shouldn't rely on Ajax.
The biggest challenges to making a great website aren't technological.
It's all about the user experience.
Ajax and accessibility.