我们可以在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

我在javascript中使用php变量时遇到问题,在php中使用javascript变量时遇到问题

$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"];