Получить переменную php в JavaScript

0

Я пишу в основном на 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 почти нулевое, поэтому я, вероятно, пропустил что-то простое, но я не знаю достаточно, чтобы узнать, что или устранить.

  • 0
    Похоже, что $p_link - это пустая строка или что-то подобное. Также обратите внимание, что то, как вы делаете это, PHP создает JavaScript при загрузке страницы, и поэтому JavaScript будет иметь жесткое значение того, что $p_link во время рендеринга страницы, а не когда нажимается клавиша «они». Если это проблема с эхом, попробуйте использовать var_dump
  • 0
    После вашего редактирования, если вы получили буквальные теги в вашем JavaScript, это означает, что он на самом деле не проходит через PHP, возможно, потому что вы завершили свой файл в .js а не в .php
Показать ещё 7 комментариев
Теги:

1 ответ

1

он выглядит как <?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;?>.

(извините, так как у меня низкая репутация, я не могу оставить комментарий)

  • 0
    Да, это именно то, что происходит, только с фактическими тегами [great_than] в URL-адресе (я не мог понять, как заставить их выглядеть здесь нормально). ПОЧЕМУ это происходит?
  • 0
    как сказал @justGage. Ваш файл может заканчиваться расширением html или js. Так что у интерпретатора php не было возможности его интерпретировать. Проверьте это расширение файла.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню