只有当用户打开网页时才能直接用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>
在js中调用php的方法是直接在script标签的src属性中嵌入要访问的php地址。
1、JS方式调用PHP文件并取得PHP中的值
举例说明:
如在页面test_json1中用下面这句调用:
<script type="text/javascript" src="/index.php/test/testjson2">
</script>
<script type="text/javascript" >
alert(jstext)
</script>
2、在test_json2.php中有这样一段PHP代码:
<?php
$php_test='I come from PHP!'
echo "var test='$php_test'"
echo "var jstext="."'$php_test'"
?>
当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,
所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值。
3、调用结果:
1、首先我们创建一个test的php文件。
2、在里面添加html需要的代码。
3、我们在里面添加js脚本,定义一个a变量100。
4、现在我们在底部添加php中代码,其中定义一个b变量默认为0,准备用它来接收js中的a的值。
5、接着我们在script里面使用writeln输出a,并赋值给php中的变量b,在最后echo输出查看b中的值。
6、在浏览器中打开这个php文件会直接echo出js中变量a的数值为100,到此php获得js中的变量完成。