I used the code below in a page of lots of checkboxes that display ajax requests, it worked
pretty good avoiding muiltiples requests for heavy users.
The secret here is the function beforeSend that is implements in jQuery 1.4.x and the attribute queue.
var filters = {
queue : [],
hideLoading : function(){
jQuery('#loading').hide();
},
showLoading : function(){
jQuery('#loading').show();
},
loadPage : function(){
try{
ListFilter.showLoading();
$j.ajax({
type: "POST",
url: $j('#form').attr('action'),
data: $j('#form').serialize(),
async: true,
dataType: "html",
beforeSend: function( xhr ) {