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 += "
Перемещенные файлы:
" + output + "