我们可以在javascript中使用php变量,在php代码中使用javascript变量吗?
我在javascript中使用php变量时遇到问题,在php中使用javascript变量时遇到问题我们可以在javascript中使用php变量,在php代码中使用javascript变量吗?,javascript,php,Javascript,Php,我在javascript中使用php变量时遇到问题,在php中使用javascript变量时遇到问题 $UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')"; echo '<script type="text/javascript">' , 'testFunctionForUpdateTotal(.$UpdateText
$UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')";
echo '<script type="text/javascript">'
, 'testFunctionForUpdateTotal(.$UpdateText.);'
, '</script>';
$UpdateText=“updateTotal(Tills,'pos\u cash','{$till->till\u id}');updateVariance('{$till->till\u id}');
回声“
,“testFunctionForUpdateTotal(.$UpdateText.);”
, '';
您刚刚遇到了一个报价问题:
$UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')";
echo '<script type="text/javascript">'
, "testFunctionForUpdateTotal('".$UpdateText."');"
, '</script>';
如果您使用串联,您可以将php变量放入javascript代码中,并且您已经在echo中使用了串联 php无法看到javascript变量,因为javascript在浏览器上,php在服务器上
最好的办法就是将javascript变量传回客户端。PHP是服务器端。他们可以,不知何故,说话,但这并不总是那么容易 我想说,要在Javascript中使用PHP变量,您必须找到一些方法。简单的方法是:
var phpVar = "<?php echo $myVar; ?>";
但是,你很快就会意识到这会像一个常数一样被打印出来。这只能在页面的呈现上完成,因此有点有限。实际上,如果$myVar
包含5
,则直接编写此代码:
var phpVar = "5";
结果是一样的。在JavaScript中使用PHPVAR的另一种方法是AJAX获取它。例如,使用jQuery:
$.get("/page_that_sends_my_var.php", { }, function(res) {
var phpVar = res;
});
通过使用page\u发送\u my\u var.php
如下内容:
<?php
echo $myVar;
然后,在使用我的变量php的页面中:
<?php
$jsVar = $_POST["myVar"];
您不应该直接将PHP输出到Javascript中。PHP数据中的一个
”
或其他JS元字符,您已经通过语法错误终止了JS块。始终通过json\u encode()
输出,因此您至少生成了有效的JS。
优于短代码
,因为PHP短代码在大多数生产环境中默认是禁用的。您确定吗?从PHP 5.4开始,它们是永久启用的。为了便于移植,首选长样式,因为短标记依赖于PHP 5.4+,或者如果您计划分发应用程序,则启用短标记设置。但这并不是常见的情况。是的,但我之所以提出它,是因为为了最大限度地兼容,我们更倾向于走漫长的路。但就我个人而言,我更喜欢短标签。
<?php
echo $myVar;
$.post("page_that_uses_my_var.php", { "myVar" : myVar }, function(res) {
// do something if you like
});
<?php
$jsVar = $_POST["myVar"];