Ну как бы текст
echo
отображается, да вот только ничто этот ответ не читает. А надо, чтобы читало.
Да, вы правы, дело в AJAX. JS сходил, постучал по вашему URL, закинул туда файл, и на этом его работа закончилась.
Чтобы не закончилась, а что-то куда-то вывести, надо дописывать JS. Например, так:
$.ajax({
xhr : function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {
console.log('Bytes Loaded: ' + e.loaded);
console.log('Total Size: ' + e.total);
console.log('Percentage Uploaded: ' + (e.loaded / e.total))
var percent = Math.round((e.loaded / e.total) * 100);
$('#progressBar').attr('aria-valuenow', percent).css('width', percent + '%').text(percent + '%');
}
});
return xhr;
},
type : 'POST',
url : '/union.php',
data : formData,
processData : false,
contentType : false,
// В response будет то, что вывел echo
success: doSmth(response) // <-- Вот тут. Можно и анонимную функцию сделать, это не критично
});
// Чтобы не усложнять
function doSmth(responseData) {
// ...
// ...
console.log(responseData);
// ...
}