PHP в JavaScript? - PullRequest
       42

PHP в JavaScript?

0 голосов
/ 05 декабря 2009

Мне нужно иметь некоторый PHP-код внутри JavaScript

      <script ...>

        <?php
        echo " ... ";
        ?>

       </script>

но это не работает. Как вы можете реализовать php внутри javascript, который находится в собственном файле javascript.php?

Ответы [ 5 ]

7 голосов
/ 05 декабря 2009

Это не делает то, что вы, вероятно, думаете, что делает. Это будет работать, но PHP запускается один раз, когда страница загружается, а не каждый раз, когда вызывается функция JavaScript.

5 голосов
/ 05 декабря 2009

Просто для пояснения, это то, что произойдет

index.php

<script type="text/javascript">
<?php echo "alert('hello!');"; ?>
</script>

вывод HTML в браузер

<script type="text/javascript">
alert('hello!');
</script>

Если это то, что вы хотите сделать, тогда вы можете вывести весь javascript, который вам нравится. не может *1011* выполнить код PHP в браузере пользователя.

3 голосов
/ 05 декабря 2009

Похоже, что есть много недоразумений в вопросе ... Вот что вы хотите сделать для генерации JS из PHP на сервере:

файл javascript.js.php

<?php
    header('Content-Type: text/javascript');
?>

// javascript code here

function PrintTime()
{
   alert("The time is " + <?php echo json_encode(time()); ?>);
}

Теперь включите его на HTML-страницу, используя обычные теги сценария:

<script type="text/javascript" src="/url/to/javascript.js.php"></script>

Сервер обработает файл PHP и вернет из него javascript.

3 голосов
/ 05 декабря 2009

вы можете использовать php для динамического генерирования кода javascript, но вы не можете выполнить клиентскую часть php. Если вам нужно выполнить php, вам нужно будет выполнить обратную передачу или использовать AJAX

2 голосов
/ 05 декабря 2009

Вы не можете запустить PHP внутри файла JavaScript. Прежде всего потому, что PHP работает на стороне сервера и обрабатывается до того, как клиенту будет отправлена ​​какая-либо фактическая информация http. JavaScript обрабатывается браузером на стороне клиента и отправляется в виде текста.

Похоже, вы хотите передать какую-то динамическую информацию в JavaScript. Вы можете сделать это, передав переменную следующим образом:

<?php $variable="its me"; ?> 

<script> 
   alert('<?php print($variable)?>') 
</script> 

Выходные данные, переданные клиенту:

<script>
    alert('its me')
</script>

Чего вы пытаетесь достичь, и, возможно, мы можем помочь вам найти лучшее решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...