Задать вопрос

Как в JS сделать запрос, аналогичный submit form в html?

Добрый день,
нужно в JS сделать post запрос с файлами, подобный тому, как работает отправка формы в html:
<form method="POST" enctype="multipart/form-data" action="/files/upload-multiple-files">
    <input type="file" name="files" multiple> <br/>
    <button type="submit">Submit</button>
</form>


Пытался в JS следующим способом, но не работает:
var formData = new FormData();
formData.append("files", this.images);
var xhr= new XMLHttpRequest();
xhr.open("POST", "/files/upload-multiple-files");
xhr.send(formData);
xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
           console.log(xhr)
      }
}


Подскажите в чем ошибка или в какую сторону копать.
  • Вопрос задан
  • 305 просмотров
Подписаться 2 Средний 1 комментарий
Ответ пользователя AUser0 К ответам на вопрос (4)
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Вроде можно в форму прописать id=my_form, а потом document.getElementById('my_form').submit()

А если нужен работающим ваш код, то this.message не сработает, нужно более конкретно указывать элемент, из которого нужны данные. Например опять-же через <input type=file id=my_files name=files multiple> и
formData.append("files", document.getElementById('my_files').value);
. И вывод лучше через console.dir(xhr).
Ответ написан
Комментировать