Taken from Joshua Eichorn's Blog

Ajax Form Submission/POST

Submit a POST request using AJAX you first have to understand what a normal form POST is. When you submit a form in your browser it makes a http request with the following options:
HTTP Verb: POST
Content-Type: application/x-www-form-urlencoded
And a body of something like:
fielda=valuea&fieldb=valueb
So to replicate a form POST in AJAX you need to run xmlhttp.open with POST set a header, xmlhttp.setRequestHeader(.Content-type.,'application/x-www-form-urlencoded.);

Then encode your content and send it. xmlhttp.send(.fielda=valuea&fieldb=valueb.);

If you use a library most have code for handling this for you, HTML_AJAX has HTML_AJAX.formSubmit for taking a form and submitting it using AJAX and HTML_AJAX.post for doing custom POSTs.