http://ajaxian.com/archives/mooajax-13kb-for-all-your-asynchronous-needs
Valerio Proietti, the creator of Moo.fx, has now created a micro library for Ajax, moo.ajax.

I noticed many of you requested if it would have been possible to use the full prototype, instead of the lite one I provided with the full download of moofx, to use its ajax capabilities along with the effects. Sure you can, but wouldn’t it be cooler if there was a more lightweigt one?

Just to continue my mission in small javascripting, I have arranged this moo.ajax, in just 1.3kb of uncompressed sweetness.

read more for instructions, or download the script. As always, any comments/corrections/suggestions are highly appreciated.

moo.ajax is a very simple ajax class, to be used with prototype.lite from moo.fx. It’s roughly based on the prototype one, so their usage are very similar.

The request
to make any request just call

Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP new ajax(url, options);


The options
method: choose either post or get. The default is post.
posyBody postBody: if you choose post as method, you can write parameters here.
onComplete: a function that will be fired when your request is complete. The request object will be passed as a parameter of the function.
update: an dom element or an element’s id. This element will be filled with the request’s responsetext.
An example
This will call my script.php via post, setting as parameter sleep=3. When the request is complete I want an alert with the response text, and I want an element to be updated with the responsetext as well.

Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP new ajax ('sleep.php', Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP {postBody: 'sleep=3', update: $('myelementid'), onComplete: myFunction});
Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP 
function myFunction(request)Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP {
Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP   alert(request.responseText);
Moo.ajax: 1.3kb for all your asynchronous needs
            
    
    
        AjaxprototypePHP }