Я новичок в JavaScript.
Когда я пробую следующий код, кажется, нет результата, кроме пустого экрана:
function send_to_class($data)
{
echo 'PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP';
?>
<script type = "text/javascript">
$(".username").append(<?php echo $data;?>);
</script>
<?php
echo 'EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE';
}
и мой PHP
$data = "You might think I'm Bonkers, but I just think I'm Free";
send_to_class($data);
и мой HTML
<span class = "username"></span>
2 вещи: а) как заставить работать функцию, которая добавляет $ data в класс .username и б) как заставить ее работать, если $ data является массивом? Может ли Javascript таким образом печатать массивы php?
Спасибо.
Мне нужна совместимость. И да, живой - я только что видел это. Я попытался добавить в сценарий символы "", но, похоже, это все равно не работает. Как обычно таким образом можно использовать php и javascript? Я правильно понял теги сценария? Вот моя библиотека: <script src = "ajax.googleapis.com/ajax/libs/jquery/3.3.1/…>. Будет ли это работать с таким типом Javascript?
Включите отчет об ошибках php. Если ошибок не отображается, проверьте просмотр / исходный код в своем браузере, получаете ли вы где-нибудь «ppppp»? Если да, проверьте консоль инструментов разработчика вашего браузера на наличие ошибок.
Я использовал ini_set ('display_errors', 1); error_reporting (E_ALL); на всех 3 страницах и ошибок не было. Я проверил наличие ошибок консоли, и, похоже, весь javascript работает нормально, если вы это имеете в виду? Я вижу в своем браузере, что сценарий отображается и что правильные значения находятся внутри javascript. Думаю, у меня старый jquery? Я не знаю, какой я должен работать.
Разобрал. Это произошло потому, что у меня был включенный файл send_to_class.php, который визуализировался и выполнялся ДО того, как была построена html DOM, и, как мы знаем, javascript может управлять вещами из DOM только после того, как он отображается в браузере. Похоже, я буду запускать весь свой php внизу страницы.
Что мне делать для ответа? Самому писать это хорошо или? Я слышал, что этот темп немного ограничивает поведение людей. Я отвечу?
Вы можете ответить на свой собственный вопрос, если хотите, или вы можете отредактировать свой вопрос и поставить ответ там, сохраняя при этом вопрос, чтобы будущие люди, у которых может быть точно такой же вопрос, знали, как или что вы сделали, чтобы решить его, если они испытывают то же самое. выпуск ... Спасибо :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я обнаружил, что из-за того, что $ data, которые я отправлял, содержали ", это необходимо для экранирования". Итак, в моем php-файле, который производил данные, мне пришлось включить следующее:
<div class = "class1">some words</div>
в это:
<div class=\"class1\">some words</div>
Это потому, что это javascript, который выполняет печать, и когда javascript выполняет печать «s, он должен экранировать их с помощью обратной косой черты, подобной этой \».
$(".username").append(<?php echo $data;?>);должен быть$(".username").append('<?php echo $data;?>');или$(".username").append("<?php echo $data;?>");. и убедитесь, что добавлена библиотека jQuery