From 3ea8e50cd4483a88eb633e13297f1663618d4e0f Mon Sep 17 00:00:00 2001 From: denis Date: Mon, 8 Dec 2025 16:52:36 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20js/ajax/upload.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Первоначальная функция. Работает, но требует доработки --- js/ajax/upload.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 js/ajax/upload.js diff --git a/js/ajax/upload.js b/js/ajax/upload.js new file mode 100644 index 0000000..33ec0c2 --- /dev/null +++ b/js/ajax/upload.js @@ -0,0 +1,47 @@ +/** + * Функция загрузки файлов через AJAX + * + */ + +function selectFiles(e) { + var formData = new FormData(); + const files = e.target.files; // получаем все выбранные файлы + + // Перебираем все выбранные файлы + for (let i = 0; i < files.length; i++) { + const file = files[i]; // Получаем файл + + formData.append("file_"+i,file); + formData.append("name_"+i, e.target.dataset.name); //POST + + } + + var xhr = new XMLHttpRequest(); + xhr.open("POST", "upload.php"); + xhr.send(formData); + xhr.onerror = function() { // происходит, только когда запрос совсем не получилось выполнить + alert('Ошибка соединения'); + }; + + let output = ""; + xhr.onload = function() { + if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка + alert('Ошибка ${xhr.status}: ${xhr.statusText}'); // Например, 404: Not Found + } else { // если всё прошло гладко, выводим результат + const data = JSON.parse(xhr.responseText); + for (let x=0; x < data.length; ++x){ + console.log(data[x]) + output += "
  • " +data[x]+"
  • "; + } + document.getElementById("list").style.display="block"; + document.getElementById("list").innerHTML = ""; + + setTimeout(() => { + document.getElementById("list").innerHTML=""; + document.getElementById("list").style.display="none"; + }, 3000) + + } + }; + + } \ No newline at end of file