The current (1.5.0_rc0) Ajax.Request.request method always passes form parameters as a urlencoded query string. Unfortunatedly, it doesn't do any escaping, so values with ampersands (for example) cause a malformed request.
I've added multipart POST support to the method. Note that it will only be invoked when a POST is performed, and when postBody is not a string. In other words, a string value of postBody (the only type accepted at the moment) will continue to behave as it always has. If those conditions are met, then postBody is considered to be a generic Object with name/value pairs that represent the form fields to be POSTed. They're serialized, the contentType for the request is changed, and processing continues as normal.
Two new constants on the Ajax.Base class were added to store the content type strings for easier access where needed.