从外部JS读取PHP文件变量
我如何检索,通过JS,我指的是一个外部脚本,在php包含文件中分配的一些变量的值,如下面的一个从外部JS读取PHP文件变量,php,javascript,include,Php,Javascript,Include,我如何检索,通过JS,我指的是一个外部脚本,在php包含文件中分配的一些变量的值,如下面的一个 <?php $var1 = "a"; $var2 = "foo"; ?> 假设您的意思是使用AJAX请求检索变量……最好的方法是: <?php $array["var1"]="a"; $array["var2"]="foo"; echo json_encode($array); ?> var1和var2将是json.var1/jso
<?php
$var1 = "a";
$var2 = "foo";
?>
假设您的意思是使用AJAX请求检索变量……最好的方法是:
<?php
$array["var1"]="a";
$array["var2"]="foo";
echo json_encode($array);
?>
var1和var2将是json.var1/json.var2
编辑:
在这种情况下,您应该能够执行以下操作:
<script type="text/javascript">
var phpvars = <?php echo json_encode($array); ?>;
<script>
只需将其放在包含whistle.js的上面,该文件中的Javascript就可以通过phpvar访问变量。更改variables.php文件,使其具有与上述相同的格式,但不重复该文件。为了重申之前的反馈,php用于生成HTML-php文件本身永远不可用于浏览器。您可以使用variables.php生成隐藏标记,然后使用JavaScript读取它们 例如 variables.php输出:
<div id='varA' style='display:none'>foo</div>
<input id='varB' type='hidden' value='bar' />
或
variables.php输出:
<div id='varA' style='display:none'>foo</div>
<input id='varB' type='hidden' value='bar' />
我担心echo语句会干扰HTML页面,这是包含/需要此PHP文件的第三个文件?抱歉,我对AJAXOkay完全陌生,所以基本上,结构是main.php requires/includes variables.php,main.php中有Javascript?在这种情况下,您只需要在javascript所在的上面包含variables.php,并将其直接回显到javascript中。如果javascript来自一个.js文件,那么您需要在该.js文件之前将这些变量回显到一个脚本标记中,并让它使用这些变量。哦,对不起,更像是这样:main.php需要variables.php并调用whistles.js来逐步增强;单击时,whistles.js必须从变量中获取一些值。phpy您不能仅使用javascript从PHP文件中获取变量。一个服务器端,一个客户端。Javascript在被服务器解析之前无法与PHP交互,您需要找到一种将变量显示为文本的方法。
document.getElementById('varB').value