Software development is not an assembly line job. It's a job where one must be able to work independently, without supervision, and be trusted to solve real-world problems. It's important to keep in mind that your future employers are looking to fill a gap in their organization, and they need someone they can trust.
Let's say you've only read about AJAX but never actually programmed your browser to make an actual, real HTTP request to a server. When your interviewer asks you to rate yourself on a scale of 1 to 10 (with 10 being excellent) on your knowledge of AJAX, HTML, and JavaScript and you say 8, what is he or she going to think when you fail to actually code an example? Will that person trust you?
It's not about the lie necessarily or the exaggeration that makes that person wary. The scary thing about those candidates is that they actually might not be lying! They might actually believe they know more than they really do, and that's a scary thing when a lot of money's on the line.
In my experience, in this situation, it may be best to play it safe. Instead of rating yourself an 8 in AJAX, rate yourself a 2, and when they ask you to code an example, blow them out of the water with all of the practicing you've been doing ;)
This should tell the employer that you're careful, you realize that there is still a lot to learn, you're not some young, cocky hothead who is going to waltz in there and crash the server, or decide to use an Applet to build the next big web application. Instead, he/she should hopefully view you as someone who may not have the skills now, but after 6 to 12 months of mentorship in a professional setting, he/she will picture you as a star player on the team.