Дурацкая ситуация, в куче топиков есть простейшее решение, но у меня не работает.
Простенькая html разметка для загрузки картинки с использованием js (всю описывать не буду - не работает только маленький кусочек в javascript):
<?php
...
$index_result_block = 'result';
...
?>
...
<form id="upload-image" enctype="multipart/form-data">
<input class="choose-file-button" type="submit" value="Сохранить">
</form>
<div id="<?php echo $$index_result_block';?>"</div> <!-- БЛОК ВЫВОДА СООБЩЕНИЯ -->
...
И код javascript для загрузки файла на сервер, в котором есть кусочек для вывода сообщения:
$(document).ready(function () {
...
function printMessage(destination, msg) {
$(destination).removeClass();
if (msg == 'success') {
$(destination).addClass('alert-upload').text('Файл загружен на сервер');
}
if (msg == 'error') {
$(destination).addClass('alert-upload').text('Ошибка при загрузке файла');
}
}
$('#upload-image').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
type:'POST', // Тип запроса
url: 'handler.php', // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache:false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false, // Отключаем, так как передаем файл
success:function(data){
printMessage('#'+<?php echo $$index_result_block';?>', data);
},
error:function(data){
console.log(data);
}
});
}));
});
В html части все работает - id блока отлично работает с php-переменной.
Но в javascript такой же метод работать не хочет - сообщение в блоке не появляется. Хотя, все остальное работает отлично, картинка грузится в указанную директорию.
Если вывести значение, подставленное в функцию printMessage с помощью document.write, то результат: #[object HTMLDivElement].
Где я косячу?