只有当用户打开网页时才能直接用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、调用结果: