如何在js里引用php变量

JavaScript019

如何在js里引用php变量,第1张

一个在前端执行,一个在后端执行,js取不到php变量实时的值。

只有当用户打开网页时才能直接用php的值,其他情况需要向服务器发送消息请求php的变量值(可用ajex)。

打开网页时,php值传给js有两种方法:

第一种将html代码当成一个字符串,如:

$v = json_encode($v)

$html="<script> var val = {$v} </script>"

第二种将值放入html中,取html元素的值,如:

<?php

    $v = json_encode($v)

?>

<html>

    <script>

        var val = $("#val").html()

    </script>

    <body>

        <div id='val'><?php echo $v ?></div>

    </body>

 </html>

其实不是javascript得到php变量,而是php把变量值传给javascript,其实也不叫传给javascript。说不清楚了,看下面实例。

untitled1.php:

<script language="php">

$ip = $_SERVER['HTTP_REMOTE_ADDR']

</script>

<script language="javascript">

var ip = "<?= $ip?>" // here, look!

var result = "You IP address is: " + ip

document.write(result)

</script>

那么运行untitled1.php时,页面上就会显示

You IP address is: 127.0.0.1

如果你要使用调用,即

<script src="untitled1.php"></script>的话,

只要把untitled1.php代码改为:

<script language="php">

$ip = $_SERVER['HTTP_REMOTE_ADDR']

</script>

var ip = "<?= $ip?>" // here, look!

var result = "You IP address is: " + ip

document.write(result)