We all know how Ajax is important in today's world. Thanks to google. You can develop rich and interactive web/portal applications by using combination of Ajax, Java script, REST APIs. I am not against Ajax but I honestly think one should know when to use it and when NOT to use it. Here are some known limitations of using Ajax.
1. Not all browsers supports Ajax. Though IE 5.x, 6.x, Mozilla 1.x, Firefox still supports.
2. XMLHttpRequest is not supported in older version. No standardization of XMLHttpRequest yet.
3. Java Script code could be visible to a hacker.
5. Ajax based applications are difficult to debug, test and maintain.
6. Toolkit/Frameworks are still maturing.
7. Lack of design patterns or best practices guidelines yet.
8. Server side developers need to understand, presentation logic is required both at client & server side as well.
9. Namespace collision is possible.