Для метода post форма не обязательна, но без нее задолбаешься все собирать, а как там без формы с файлами обходились я даже проверять не стану. Просто сделай новый объект формы и втыкай туда чего угодно.
Например
var
el=D.getElementById("import-file"),
x = new XMLHttpRequest(),
f = new FormData();
f.append(el.name, el.files[0], el.value);
x.open("POST",url);
x.onreadystatechange=function(){/* и тут уже калбек */
x.setRequestHeader("X-Requested-With","XMLHttpRequest");
x.send(f);
С текстовыми данными такой же аппенд, почитай про FormData
PS Напомню что контекст был закачать файло.