Разбираюсь в XMLHttpRequest... (и вообще учусь) и чет если честно не догоняю, каким образом я допустим могу передать какие нибудь переменные в теле запроса ? кроме имени файла...
Подскажите где подбробнее можно почитать ? облазил кучу всего, везде в основном примеры без объяснения как формируется тело запроса. , вроде у меня всё работает и я даже понимаю немного... но не до конца )
function uploadFile(file) {
var reader = new FileReader();
reader.onload = function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
if(this.status == 200) {
alert(xhr.responseText);
} else {
alert('error');
}
}
};
xhr.open('POST', '../lib/upload.php');
var boundary = "xxxxxxxxx";
// Устанавливаем заголовки.
xhr.setRequestHeader('Content-type', 'multipart/form-data; boundary="' + boundary + '"');
xhr.setRequestHeader('Cache-Control', 'no-cache');
// Формируем тело запроса.
var body = "--" + boundary + "\r\n";
body += "Content-Disposition: form-data; name='myFile'; filename='" + filename + "'\r\n ";
body += "Content-Type: application/octet-stream\r\n\r\n";
body += reader.result + "\r\n";
body += "--" + boundary + "--";
if(xhr.sendAsBinary) {
// только для firefox
xhr.sendAsBinary(body);
} else {
// chrome (так гласит спецификация W3C)
xhr.send(body);
}
};
// Читаем файл
reader.readAsDataURL(file);
}
Я не ленивый ... правда не могу найти