1.php:
<script>
var jsurl=document.URL ;
</script>
<?php  
$url="<script>document.write(jsurl)</script>";
echo "<a href='2.php?data=$url'>JS传值</a> "; 
?>
2.php:
<?php  
echo $_GET[ 'data'];  
?> 在1.php里echo $url 是正确的,怎么echo "<a href='2.php?data=$url'>JS传值</a> ";就出错了呢?变成了<script>document.write(jsurl)</script>  JS的源代码程序新手,高手莫笑啊!

解决方案 »

  1.   

    //1.php:
    <script>
    var jsurl=document.URL ;
    </script>
    <?php  
    $url = urlencode("<script>document.write(jsurl)</script>");
    echo "<a href='2.php?data=$url'>JS传值</a> "; 
    ?>
    //2.php:
    <?php  
    echo $_GET[ 'data'];  
    ?>  
      

  2.   

    用过urlencode  还是不行啊传递的值不对:2.php?data=%3Cscript%3Edocument.write%28jsurl%29%3C%2Fscript%3E
      

  3.   

    1.php:
    <script type="text/javascript">
    document.write('<a href="2.php?date=' + document.URL + '">JS传值</a>');
    </script>
      

  4.   

    要这样写
    <script>
    var jsurl=document.URL ;
    </script>
    <?php   
    $url="<a href=2.php?data='+jsurl+'>JS传值</a>";
    echo "<script>document.write('$url')</script>";  
      

  5.   

    xuzuning的方法也是可以的,谢谢,可惜结贴了,没分了