发送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方法我上面提到(查询字符串)。