从Javascript调用PHP函数 - PHP在单独的文件中

时间:2012-09-22 13:46:48

标签: php javascript function variables

我无法从PHP填充Javascript变量。

我的index.php文件是典型的形式,即

 <?php
  function blah () {}
  function doThis ($sUserID) {}
 ?>

 <HTML>
   <head>
     <script src="test.js"></script>  
   </head>

   show results
 </HTML>

麻烦是我需要使用从PHP函数调用的值(在php文件中)填充Javascript变量(在'test.js'文件中)。

我试过了:

    var jsVar = '<?php echo doThis(sUserID)?>';
document.write("jsVar: ", jsVar);

但没有结果。

那么如何从test.js调用PHP函数(在另一个PHP文件中)?

感谢。

2 个答案:

答案 0 :(得分:1)

只需在test.js加载之前声明一个全局变量,它应该可以正常工作

   <head>
     <script type="text/javascript>
       var jsVar = '<?php echo doThis(sUserID) ?>';
     </script>
     <script src="test.js"></script>  
   </head>

如果doThis(sUserID);返回有效的字符串,它应该有效。

答案 1 :(得分:1)

doThis()不会返回任何内容,因此echo不会显示任何内容。但并非全部。您不能从JS脚本调用PHP函数,除非您首先通过PHP解释器传递JS文件(这不是默认行为)。你可以通过将test.js重命名为test.php

来实现这一目的