@MaxKondratenko

Как передать дополнительные переменные с помощью XMLHttpRequest?

Разбираюсь в 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);
}

Я не ленивый ... правда не могу найти
  • Вопрос задан
  • 2382 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы