Добавить js/ajax/upload.js
Первоначальная функция. Работает, но требует доработки
This commit is contained in:
47
js/ajax/upload.js
Normal file
47
js/ajax/upload.js
Normal file
@@ -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 += "<li>" +data[x]+"</li>";
|
||||||
|
}
|
||||||
|
document.getElementById("list").style.display="block";
|
||||||
|
document.getElementById("list").innerHTML = "<ul><p>Перемещенные файлы: </p>" + output + "</ul>";
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
document.getElementById("list").innerHTML="";
|
||||||
|
document.getElementById("list").style.display="none";
|
||||||
|
}, 3000)
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user