As for JavaScript, I agree with
jeffa:
Prototype +
Scriptaculous is the way to go. I've been using it to build the front-end on a Perl site and it can do a lot.
Prototype handles Ajax requests well and you can provide a lot of useful functionality by using its
utility methods such as $(). Scriptaculous helps with visual effects (i.e. drag & drop.) The documentation isn't as full as I'd like, but you can find most of what you need by searching the web.
As for browser support, Prototype is compatible with IE6+, Firefox, Chrome, Opera, and Safari. I haven't had trouble with any of the Ajax calls. The only situation where it would be a problem is if somebody has JavaScript turned completely off.
On the Perl side, the
JSON module works quite
well for parsing JSON parameters passed through by the client, and you can create and return a JSON response.
"I'm in love with love and lousy poetry." - The Weakerthans