我们可以在PHP代码中使用javascript和javascript变量中的php变量吗?

时间:2013-12-16 14:49:11

标签: 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.);'
    , '</script>';

3 个答案:

答案 0 :(得分:2)

你刚才有引用问题。 :

$UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')";

echo '<script type="text/javascript">'
    , "testFunctionForUpdateTotal('".$UpdateText."');"
    , '</script>';

这是一个很好的例子,说明为什么你应该避免使用echo语句来输出HTML。 PHP旨在允许您将PHP嵌入HTML中,您应该利用它:

    $UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')";
?>
    <script type="text/javascript">
        testFunctionForUpdateTotal('<?= $UpdateText; ?>');
    </script>';

答案 1 :(得分:0)

如果使用连接,可以将php变量放入javascript代码中,并且已经在echo中使用连接。

php无法看到javascript变量,因为javascript在浏览器上,php在服务器上

你最好的选择就是传回javascript变量

答案 2 :(得分:0)

JavaScript是客户端。 PHP是服务器端。他们可以以某种方式说话,但并不总是那么容易。

要在Javascript中使用PHP变量,我必须说明方法。简单的方法是:

var phpVar = "<?php echo $myVar; ?>";

或者,通过回应:

echo "var phpVar = '{$myVar}';";

但是,你很快就会意识到这将被打印成有点像常数。这只能在页面的渲染上完成,所以它有点受限。确实,如果$myVar包含5,直接写这个:

var phpVar = "5";

结果是一样的。在JavaScript中使用PHP var的另一种方法是使用AJAX来获取它。例如,使用jQuery:

$.get("/page_that_sends_my_var.php", { }, function(res) {
    var phpVar = res;
});

page_that_sends_my_var.php像这样:

<?php
echo $myVar;

但这将是异步的。因此,您有两种不同的方法用于两种不同的目的。第一个,同步,仅在页面渲染时起作用;第二个可以通过异步调用工作。我可能总是使用第二种方法;它更优雅,AJAX是一件好事:它使您的应用程序更具活力。

至于在PHP中使用Javascript变量,您也可以通过两种方式完成。第一个是使用表单并在表单提交期间将变量包含在表单的数据中;另一个(我更喜欢)是使用AJAX调用PHP脚本,并发送变量。像这样:

$.post("page_that_uses_my_var.php", { "myVar" : myVar }, function(res) {
    // do something if you like
});

然后,在page_that_uses_my_var.php

<?php
$jsVar = $_POST["myVar"];