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