Я пишу в основном на PHP, но одна функция требует от меня использования JavaScript. Мне нужно получить доступ к переменной PHP в моем JavaScript. Я поместил следующий код между тегами <head>
:
<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?>
, <?php%20echo($p_link)%20?>
явно неверно.
Я уже здесь, здесь, и здесь, все из которых, похоже, говорят мне делать именно то, что я делаю. Мое знание JavaScript почти нулевое, поэтому я, вероятно, пропустил что-то простое, но я не знаю достаточно, чтобы узнать, что или устранить.
он выглядит как <?php echo $p_link;?>
<?php echo $p_link;?>
не интерпретируется php.so js_link
содержит строку <?php echo $p_link;?>
<?php echo $p_link;?>
вы устанавливаете window.location.href
в <?php echo $p_link;?>
<?php echo $p_link;?>
. браузер пытается перейти на [less_than]?php%20echo($p_link)%20?[greater_than]
который является кодировкой url <?php echo $p_link;?>
<?php echo $p_link;?>
.
(извините, так как у меня низкая репутация, я не могу оставить комментарий)
$p_link
- это пустая строка или что-то подобное. Также обратите внимание, что то, как вы делаете это, PHP создает JavaScript при загрузке страницы, и поэтому JavaScript будет иметь жесткое значение того, что$p_link
во время рендеринга страницы, а не когда нажимается клавиша «они». Если это проблема с эхом, попробуйте использоватьvar_dump
.js
а не в.php