Как правильно передать переменную из php в javascript?

Дурацкая ситуация, в куче топиков есть простейшее решение, но у меня не работает.
Простенькая 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].
Где я косячу?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 2
BuriK666
@BuriK666
Компьютерный псих
добавьте к названию файла с этим скриптом .php, например script.js.php
и в начало файла добавьте
<?php header("Content-Type: application/javascript");?>
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А вы посмотрите код js, который приходит в браузер. Ошибка, скорее всего, в строке
printMessage('#'+<?php echo $$index_result_block';?>', data);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы