本地存储一个 javascript 变量,该变量由 .php 脚本递增

Locally storing a javascript variable which is incremented by .php script

我有一个 javascript 变量,它在 .php 脚本中递增,除了 .php 脚本使页面重新加载然后重置变量,那么我的问题是,即使整个增量发生在 .php 脚本中并且变量和本地存储在 html 中,是否可以在本地存储 javascript 变量带有变量和函数的脚本,html/javascript 文件和 .php 文件是分开的,这是困难的部分。

html/javascript:

<div class="bidVar">
  current amount: $<span id="bidVar"></span>
</div>

<script type="text/javascript"> 
  var bidVar= 1;
  document.getElementById("bidVar").innerHTML = bidVar;
  document.getElementByID("bidVar").value = bidVar;

  function addToCurrent() {
    bidVar= bidVar+ 1 ;
    document.getElementById("bidVar").innerHTML = bidVar;
  }
</script>

.php:

<?php 
    echo '<script type="text/javascript"> addToCurrent(); </script>';
?>

本地存储中的变量不是递增PHP:您的PHP脚本输出一些Javascript代码来完成它。 您要么不必在 PHP 脚本中直接重定向,要么使用指示下一页应递增变量的内容进行重定向。

示例:

script.php

// ...
header('Location: mypage.php?increment=true');
exit();

mypage.php

// ...
if (isset($_GET['increment']) && $_GET['increment'] == true) {
    echo '<script type="text/javascript"> addToCurrent(); </script>';
}
// ...

为了避免刷新页面,从而重新加载您的 JavaScript,您可能需要查看 AJAX 样式的页面。这样可以重新加载或操作页面的特定部分,可以调整 JavaScript 变量,但不会重新加载整个页面。

如果这不可能,您将必须让 JavaScript 在单击 link 或提交表单时发送其当前计数,让您的 PHP 捕获该数字,然后您的 PHP 在页面重新加载时将当前计数发送到您的 JavaScript。