У меня возникла проблема при попытке использовать PHP variable в JavaScript. Я продолжаю получать следующее сообщение.

"Неверный или неожиданный токен. Сообщение: неопределенная переменная: пример."

Я не уверен, почему пример не определен, так как он определен в коде php. Вот мой код:

<?php
    $example = '2';
?>
<script type="text/javascript">
    var php_var = "<?php echo json_encode($example); ?>";
</script>

У кого-нибудь есть предложения? Я также попробовал следующее javascript, что приводит к той же проблеме:

<script type="text/javascript">
    var php_var = "<?php echo $example; ?>";
</script>
2
Jake 10 Янв 2017 в 14:40

3 ответа

Лучший ответ

Во-первых, в исходном коде есть синтаксическая ошибка: $example = '2' нужна точка с запятой. Во-вторых, следующий фрагмент кода просто присваивает строку <?php echo $example; ?> переменной JavaScript php_var , где $example PHP переменная сначала подставляется. Переменная $example должна быть сначала правильно инициализирована, однако, чтобы это работало.

В качестве отдельного примечания: JS не может выполнять PHP напрямую - это может сделать только PHP сервер . Скорее всего, вы пытаетесь это сделать:

<?php
    $example = '2';
?>
<script type="text/javascript">
    var php_var = '<?php echo $example ;?>';
</script>
0
Monty 10 Янв 2017 в 11:55

Пробовал и работает оба варианта:

<?php
    $example = '2';
?>
<script type="text/javascript">
    var php_var = <?php echo json_encode($example); ?>;
    console.log(php_var);
</script>

<script type="text/javascript">
    var php_va = "<?php echo $example; ?>";
    console.log(php_va);
</script>
0
Learner 10 Янв 2017 в 11:57

Это должно работать, используйте одинарные кавычки

<?php
  $example = '2';
?>
  <script type="text/javascript">
      var php_var = '<?php echo  $example; ?>';
  </script>
1
user3569377 10 Янв 2017 в 11:47