在Javascript中使用PHP变量
我试图在php中创建一个随机数服务器端,然后使用javascript将div的文本更改为这个随机数。 问题是我不确定如何在javascript中使用包含随机数(用PHP创建)的变量。这是我目前的代码: PHP:在Javascript中使用PHP变量,javascript,php,variables,Javascript,Php,Variables,我试图在php中创建一个随机数服务器端,然后使用javascript将div的文本更改为这个随机数。 问题是我不确定如何在javascript中使用包含随机数(用PHP创建)的变量。这是我目前的代码: PHP: Javascript: <script> function Roul () { var a = 0 var b = 37 var A = (Math.floor(Math.random() * (b - a)) + a); //Random
Javascript:
<script>
function Roul () {
var a = 0
var b = 37
var A = (Math.floor(Math.random() * (b - a)) + a); //Random Number
document.getElementById('Rand').innerHTML = A;
}
Roul();
</script>
函数Roul(){
变量a=0
var b=37
var A=(Math.floor(Math.random()*(b-A))+A);//随机数
document.getElementById('Rand').innerHTML=A;
}
鲁尔();
HTML:
?
我想将javascript变量A
替换为PHP变量$A
我还尝试了var A=代码>但是我一直收到一个错误
“意外标记PHP解释.PHP
文件。如果将PHP代码放入.js
文件中,PHP将不会对其进行解释。有两种常见的解决方案。第一种是在加载页面后使用AJAX获取值。更简单的方法是将值插入.PHP
文件中。例如:
<!-- inside .php file -->
<head>
...
<script>
window.A = <?php echo json_encode($A); ?>;
</script>
...
</head>
然后使用JavaScript将其拉出:
const A = JSON.parse(document.getElementById('A').textContent);
还有另一种方法,非常不理想,就是创建一个.js.php
文件,确保ContentType
头是正确的,并且缓存被禁用(但不要这样做)。将php代码包装在双(“)/single(”)引号下<代码>var A=“”代码>但是您的变量将以字符串的形式出现,您可以相应地转换为整数。document.getElementById('Rand')。innerHTML=
听起来像是您在一个文件中尝试了这个方法,而这个文件一开始并没有通过PHP解析器发送?然后它仍然会逐字读取var A=,但是如果你有一个JS的工作版本,为什么要使用PHP呢?小心IE11的bug,其中var A=”代码>将冻结浏览器。一定要使用isset($a)&&strlen($a)>0
来确保传递的是一个空字符串,而不是一个空字符串;谢谢它可以工作,但这是一个非常糟糕的主意,因为必须禁用缓存才能正确执行,这意味着每次都需要对JS文件进行预处理和传输。这是最简单的解决方案,我写它是为了完整性;在某些情况下,这可能是一个好主意,但我还没有。
<!-- inside .php file -->
<head>
...
<script>
window.A = <?php echo json_encode($A); ?>;
</script>
...
</head>
<script id="A" type="application/json"><?php echo json_encode($A); ?></script>
const A = JSON.parse(document.getElementById('A').textContent);