1、php直接向JavaScript传递参数变量值
本质,php向客户端显示第一变量值,为JavaScript代码,然后JavaScript代码发生作用。
$one =1;
alert(<?php echo $one; ?>);
有时候会用
<script src="xxx.php?id=1"></script>
这种形式。
举一个简单的例子来说明:
如在页面a.html中用下面这句调用:
<script type="text/javascript" src="b.php?action=test"></script>
<script type="text/javascript" >
alert(jstext);
</script>
在b.php中有这样一段PHP代码:
<?
$action=$_GET['action'];
//echo "var jstext='$action'"; //输出一句JS语句,生成一个JS变量,并赋颠值为PHP变量 $action的值
//echo "var jstext='aa'";
echo "var jstext="."'$action'";
?>
当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.
小结:
在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.
2在php中写js传递值
$one =1;
$two =2;
$js = <<<js
<script type="text/javascript">
var data ={one:$one,two:$two};
alert(data.one);
alert(data.two);
</script>
js;
echo $js;
以.php文件结尾的页面本质上还是html。我们可以在<?php ?》标签范围外直接写javascript:
x.php
<?php
echo 'hello';
?>
<script type="text/javascript">
alert("alert");
</script>
这个毫无问题。
3、以上两种,主要是php向js传递值或参数。不过飞龙的做法是过渡法:php向html输出值,js获取html值。
4、那么js向php如何传递值或参数呢?
js获取html的值或参数后,用ajax、或表单、或url跳转,向php页面传递值或参数。这是常见的办法。
//默认载入第1页数据
var commol=$('#commentlist');//alert(commol.length);
var ajaxposturl=siteurl+'/comm-ajax';//alert(commajax);
var pid = commol.attr('rel'); //alert(pid);
var per = commol.attr('title'); //alert(per);
var maxpage = $('#commpages').attr('rel'); //alert(maxpage);
commol.load(ajaxposturl,{pageid:pid,perpage:per,paged:1});//1