我在javascript中使用php变量时遇到问题,并且在php中使用javascript变量时遇到问题。
$UpdateText="updateReTotal(Tills,'pos_cash','{$till->till_id}');updateVariance('{$till->till_id}')";
echo '<script type="text/javascript">'
, 'testFunctionForUpdateTotal(.$UpdateText.);'
, '</script>';
答案 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"];