发送javaScript变量为php变量

可能重复:
如何将JavaScript变量传递给PHP?

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

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

到一个PHP变量

 <?php $phpvariable ?> 

当我点击一个按钮时,javascript中的那个函数就会执行。

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

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

正如约旦已经表示,您必须在服务器处理该值之前将javascript变量回发到您的服务器。 要做到这一点,你可以编写一个提交表单的javascript函数 – 或者你可以使用ajax / jquery。 jQuery.post

也许最简单的方法是这样的

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

在您的myphpfile.php中,您可以在执行javascript后使用$_GET['name']

问候

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}); 

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

 $variable = $_POST['variable']; 

这取决于你的页面的行为方式。 如果你想这个异步发生,你必须使用AJAX。 试试Google上的“jQuery post()”来找到一些内容。

在其他情况下,如果用户提交表单时会发生这种情况,您可以在隐藏字段中发送变量,或者追加?variableName=someValue" ,然后结束您所打开的URL。

 http://www.somesite.com/send.php?variableName=someValue 

要么

 http://www.somesite.com/send.php?variableName=someValue&anotherVariable=anotherValue 

这样,从PHP可以访问这个值为:

 $phpVariableName = $_POST["variableName"]; 

对于使用POST方法的表单或:

 $phpVariableName = $_GET["variableName"]; 

对于使用GET方法的表单或追加到URL方法我上面提到(查询字符串)。