I've had this weird situation where when I call an AJAX function, even though the Mason handler file calls $m->abort, I was still getting HTML from the autohandler in the directory above the directory where the handler lived, and RT autohandler stuff after that. This was only happening on my Mac, not on my Linux computer (there were slight version differences of some of the perl modules, including HTML::Mason, so I don't know if that was the problem). The solution I adopted was to rename all the ajax functions I use to have a .ajx extension, and then in the top level autohandler, call $m->call_next, and then, if it was named .ajx, also call $m->abort. I know, this shouldn't be required, but evidently it was in at least one case. And if it's not required, it doesn't do any harm that I can see. Here is my top level autohandler now:
<div class="modal"<!-- xxx --></div> <%init> my $file = $m->base_comp->source_file; $m->call_next(); if ($file =~ m{\.ajx$}) { $m->abort; } </%init> -- http://www.linkedin.com/in/paultomblin http://careers.stackoverflow.com/ptomblin