是的我知道这个问题被问了很多,但我对JS很新,我需要在一些JS中使用php变量。我更了解PHP是服务器端执行而JS是客户端,但其他人声称这是有效的。
我有一个名为“test1”的PHP变量,我想记录到JS控制台(例如):
<?php
$test1 = '1';
print '
<script type="text/javascript">
var carnr;
carnr = "<?php print($test1); ?>"
console.log(carnr);
</script>';
?>
这样做是打印到JS控制台。不完全是我所希望的。
现在这可能甚至不可行,我可能不得不将该变量从页面传递出来并再次使用AJAX,但如果有可用的话,我宁愿有一个快速简便的解决方案!
感谢任何帮助。
答案 0 :(得分:9)
你可以这样做。
<script>
var JSvar = "<?= $phpVar ?>";
</script>
PHP将被解析,$ phpVar的值将成为JSvar的值。
确保正确编码phpVar。例如,如果phpVar包含双引号,那么你最终会破坏JS
答案 1 :(得分:5)
使用此无需提供“”=&gt;改为'。$ test1。'..
<?php
$test1 = '1';
print '
<script type="text/javascript">
var carnr;
carnr = "'.$test1.'"
console.log(carnr);
</script>';
?>
答案 2 :(得分:3)
试
<?php $test1 = '1'; ?>
<script type="text/javascript">
var carnr;
carnr = "<?php print($test1); ?>"
console.log(carnr);
</script>
通常情况下,最好不要使用php打印静态内容,而是直接在HTML中使用静态(不变),只在真正需要它的部分使用PHP。
答案 3 :(得分:1)
你犯了一个错误:
<?php
$test1 = '1';
echo '<script type="text/javascript"> var carnr; carnr = "'.$test1.'" console.log(carnr)</script>';
?>
答案 4 :(得分:0)
由于您使用PHP编写JS,因此您可以执行以下操作:
$test1 = "blah";
echo "<script type=\"text/javascript\">console.log($test1);</script>";
答案 5 :(得分:-2)
您已经处于打开的php标签中。打印行时,只需使用点将变量附加到输出。
示例:
print 'variable1 '.$variable1.' is now printed';