JavaScript中的PHP变量未得到更新

JavaScript中的PHP变量未得到更新,javascript,php,wordpress,variables,woocommerce,Javascript,Php,Wordpress,Variables,Woocommerce,我试图将一个PHP变量(数字)传递给JavaScript。它可以工作,但是一旦数字改变,它就不会更新。我的代码: $totalamount = $woocommerce->cart->get_total(); $totalamount = preg_replace("/[^0-9\.]/", "", $totalamount); $totalamount = number_format($totalamount, 2, '.', ''); var_d

我试图将一个PHP变量(数字)传递给JavaScript。它可以工作,但是一旦数字改变,它就不会更新。我的代码:

    $totalamount = $woocommerce->cart->get_total(); 
    $totalamount = preg_replace("/[^0-9\.]/", "", $totalamount);
    $totalamount = number_format($totalamount, 2, '.', '');
    var_dump($totalamount);
?>

<script type="text/javascript">
    var Amount = "<?php echo $totalamount; ?>"
$totalamount=$woocommerce->cart->get_total();
$totalamount=preg_replace(“/[^0-9\.]/”,“,$totalamount”);
$totalamount=数字\单位格式($totalamount,2,','');
var_dump(总金额);
?>
var Amount=“”
var\u转储中($totalamount)号码每次都会更新。在JavaScript中,它在更改后给出
0


将变量传递给JavaScript以使其得到更新的正确方法是什么

PHP是一种服务器端语言,这意味着它只在加载页面时执行,除非刷新页面,否则代码不会重新运行

为了解决这个问题,您可以使用AJAX调用重新获取总计,该调用将在后台获取总计,然后更新页面


要开始使用Ajax,这里有一个很好的教程:

除非重新加载页面或使用Ajax,否则您的变量只会在第一次更新。如何更改数字?您能否更清楚地了解您的预期结果?当页面加载并输出到javascript时,将生成以$totalamount为单位的数字。或者你是说在页面加载时,var_dump输出正确的数字,但是echo totalamount没有?我知道。然而,页面在更改后被重新加载,所以我认为这可以工作。你能解释一下为什么var_转储中的变量在页面重新加载后得到更新,而不是在js中?编辑可能没有重新加载。如果我自己重新加载(F5),它确实有效。但是,当我返回页面时,var_转储中的数字会发生更改。。还不清楚。@LarsKerff您能检查一下web控制台,看看是否有错误显示吗?var_转储和js之间还有其他代码吗?如果在js之后再次尝试回显金额,它是否显示正确的值?不,没有错误。如果我在js后面放一个回音,它也会显示正确的值。@LarsKerff嗯,看起来你传递的是正确的。如何检查其值?该值显示在文档中。写入表达式:
document.write(“”)它不在同一个文件中。