Hola:
La tecnología ajax no está pensada para actualizar el server con datos del usuario, sino el navegador del usuario con datos del server... he visto una solución para enviar archivos con ajax en estos foros, pero solo válida para un navegador concreto... Fíjate que no basta con enviar cabeceras al servidor, sino que debes convertir los datos del formulario a una cadena... y en eso javascript no puede hacer nada, porque debería leer los valores binarios del fichero que se seleccione en un campo file... y por razones de seguridad no es posible.
Saludos