将 JavaScript 变量发送到 PHP 变量

2022-08-30 11:57:03

首先,我认为我必须将JavaScript转换为PHP,但后来我发现由于服务器和客户端执行,我不能。所以现在我只想发送一个变量

<script type="text/javascript">
function scriptvariable()
{        
    var theContents = "the variable";
}
</script>

到 PHP 变量

<?php
$phpvariable
?>

JavaScript中的该函数在假设我单击按钮时执行。

现在我不知道如何将php变量分配给JavaScript,以使用phpvariable在我的数据库中查找内容。我知道我可以将其添加到我的网址或某些东西并刷新页面,但我想用AJAX来做,因为我可能不得不在我的网页中进一步使用这个Ajax方法。

那么有没有一种简单的方法可以做到这一点,而不必在我的页面上转储代码页来做一件简单的事情呢?


答案 1

PHP 在服务器上运行,Javascript 在客户端上运行,因此如果不将值发送到服务器,则无法将 PHP 变量设置为等于 Javascript 变量。但是,您可以将 Javascript 变量设置为等于 PHP 变量:

<script type="text/javascript">
  var foo = '<?php echo $foo ?>';
</script>

要将Javascript值发送到PHP,您需要使用AJAX。使用jQuery,它看起来像这样(最基本的例子可能):

var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});

在您的服务器上,您需要接收 post 中发送的变量:

$variable = $_POST['variable'];

答案 2

正如Jordan已经说过的那样,您必须先将javascript变量回发到服务器,然后服务器才能处理该值。为此,您可以编写提交表单的javascript函数 - 或者您可以使用ajax / jquery。jQuery.post

也许对你来说最简单的方法是这样的

function myJavascriptFunction() { 
  var javascriptVariable = "John";
  window.location.href = "myphpfile.php?name=" + javascriptVariable; 
}

在 myphpfile 上.php您可以在执行 javascript 后使用。$_GET['name']