Рабочий код с которым передаю видео файл с видимой загрузкой прогресс бара, помимо загрузки файла мне нужно передать несколько полей формы, а вот поля формы не передаются.
Раньше использовал другое написание для ajax:
$.ajax({
url: 'shablon/polzdota.php',
type: 'POST',
data: {"mess_name":mess_name},
success: function(html){
// enable
btn.disabled = enable;
box.html(html);
}
});
А этот код с другим стилем написания в нем мне и нужно получить $_POST['mess_name'] чтобы использовать его в файле
shablon/polzdota.php:
function _(abc) {
return document.getElementById(abc);
}
function uploadFileHandler() {
var file = _("filename").files[0];
var mess_name = $_POST['mess_name']; //что то здесь не так, я пробовал разные комбинации
//мне выдает NULL или INDEFINE
var formdata = new FormData();
formdata.append("filename", file);
formdata.append("mess_name", mess_name);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "shablon/polzdota.php");
ajax.send(formdata);
}
function progressHandler(event) {
var loaded = new Number((event.loaded / 1048576));//Make loaded a "number" and divide bytes to get Megabytes
var total = new Number((event.total / 1048576));//Make total file size a "number" and divide bytes to get Megabytes
_("uploaded_progress").innerHTML = "Загружено " + loaded.toPrecision(3) + " Мб из " + total.toPrecision(3);//String output
var percent = (event.loaded / event.total) * 100;//Get percentage of upload progress
_("progressBar").value = Math.round(percent);//Round value to solid
_("status").innerHTML = Math.round(percent) + "% Загрузка";//String output
}
function completeHandler(event) {
_("status").innerHTML = event.target.responseText;//Build and show response text
_("progressBar").value = 0;//Set progress bar to 0
}
function errorHandler(event) {
_("status").innerHTML = "Загрузка файла";//Switch status to upload failed
}
function abortHandler(event) {
_("status").innerHTML = "Завершено";//Switch status to aborted
}