请大家注意看清楚问题,不是一般网上讨论的问题:
在index.php中引用js文件
<script src='index.js'></script>
而在index.js中是怎样引用index.php中php的变量的值的呢?现在我知道的是:如果在index.php中这样写是没问题的;
<script>
alert("<?php echo $a;?>")
</script>
这个是我在网上最多解决js引用php变量的问题;但是为什么换成
<script src='index.js'></script>
再在index.js中写
alert("<?php echo $a;?>");
直接给我弹出 <?php echo $a;?>;
请高手指点一下,我现在是必须使用这种引用javascript方法,有知道的请指点一下.

解决方案 »

  1.   


    引入的文件,是服务器端执行完PHP代码输出给用户才引入的。你这样引入是要客户端执行PHP代码,你说能执行吗?不弹出<?php echo $a;?>; 弹出什么,JS把这个看成是字符串输出了。
      

  2.   

    你在.js的文件中写php语句,文件名都不是.php了,你可以试一下在.html的文件中看能不能写<?php?>语句并解释执行。
      

  3.   

    dzxccsu:
    哦,那按你那样说,这种方法是引用不到php变量的.难道一定要写在php页面才能调用?其实我试过在php中用
    include("index.js")的;
    在index.js上这样写
    <script>
    alert(" <?php echo $a;?>")
    </script>
    也是可以的.
    有没有别的方法呢?不想修改index.js文件的内容
      

  4.   

    服务器不解析.JS的,所以,你的js打开,就是这样的:
    <script> 
    alert(" <?php echo $a;?>") 
    </script> 
      

  5.   

    这个是我测试的:<?php
    $a="test";
    include("index.js");
    ?>
    <script language="javascript">
    alert("<? echo $a;?>");
    </script>我这个测试可以的,你吸收一下1楼的建议在仔细看一下
      

  6.   

    对了,把你的网页改一改:
    <script src='index_js.php'> </script> 
    也就是,把你的.js改成php,服务器就解析了。
      

  7.   

    还有我怎么看你的alert语句没有";"结束啊?
      

  8.   

    <input type="hidden" name="phpvalue" id="phpvalue" value="<?php echo $phpvalue;?>">
    <script src='index.js'> </script> 
    alert(document.getElementById('phpvalue').value);
      

  9.   

    javascript是可以不使用分号的.你试着把一个字符串中间插个换行,就大概明白了.
      

  10.   

    jim8590251:不好意思啊.我现在是要大量的引用php变量,所以难以使用这种方法
      

  11.   

    不行的,你script标签引入的是js文件,直接跳过了php那个服务端解析过程.
    可以这样
    <script src='index.js'> </script> 改成<script type="text/javascript"> 
    <?php include "index.js";?>
    </script>
      

  12.   

    LuciferStar:
    用这个方法,是解析了,按这种方法,变量就要放在'index_js.php'里了?