Я пишу в основном на PHP, но для одной функции мне требуется использовать JavaScript. Мне нужно получить доступ к переменной PHP в моем JavaScript. Я поместил следующий код между тегами <head>
:Получить PHP-переменную в JavaScript
<script>
$(document).ready(function(){
$(document).keyup(function(e) {
if ($('.pho_big').is(':visible') && e.keyCode==27) {
var js_link = '<?php echo $p_link; ?>';
window.location.href = js_link;
}
});
});
</script>
Короче говоря, при нажатии клавиши ESC, я хочу пойти в $p_link
. Поэтому я пытаюсь скопировать $p_link
в js_link и перейти туда. Вместо того, чтобы получать содержимое $p_link
, мой браузер пытается перейти на <?php%20echo($p_link)%20?>
, что явно неверно.
Я уже ушел here, here и here, все из которых, похоже, говорят мне делать именно то, что я делаю. Мое знание JavaScript почти нулевое, поэтому я, вероятно, пропустил что-то простое, но я не знаю достаточно, чтобы узнать, что или устранить.
Оказывается, что '$ p_link' пустая строка или что-то вторит этому. Также обратите внимание, что так, как вы это делаете, PHP создает JavaScript при загрузке страницы, поэтому JavaScript будет иметь жесткое значение того, что '$ p_link' находится во время рендеринга страницы, а не когда нажата клавиша. Если это проблема эха, попробуйте 'var_dump'ing it – JustGage
После вашего редактирования, если вы получаете литеральные теги в своем JavaScript, что означает, что на самом деле это не происходит через PHP, возможно, потому, что вы закончили свой файл в' .js', а не '. php' – JustGage
в (внешнем) php-файле, $ p_link - это не что иное, как строка символов, иногда. и/ Код, который я вставил, находится в файле .tpl (header.tpl), на который ссылается файл .php. Это имеет значение? –