将JavaScript变量发送到PHP变量

mrb*_*bit 40 javascript php variables ajax

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

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

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

到PHP变量

<?php
$phpvariable
?>
Run Code Online (Sandbox Code Playgroud)

当我说我单击一个按钮时,JavaScript中的该函数会执行.

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

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

Jor*_*own 70

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

<script type="text/javascript">
  var foo = '<?php echo $foo ?>';
</script>
Run Code Online (Sandbox Code Playgroud)

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

var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});
Run Code Online (Sandbox Code Playgroud)

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

$variable = $_POST['variable'];
Run Code Online (Sandbox Code Playgroud)

  • 这个答案有什么问题? (3认同)
  • 为什么选择downvote?这是一个很好的答案...... (2认同)
  • @Squeegy简单的ajax事务大约需要6行代码 (2认同)

Grr*_*404 46

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

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

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

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

问候

  • *easy*方法通常也是不正确的方法. (7认同)
  • 先生,你的回答对我有用!谢谢!我犯了错误就是插入你的脚本(由于某种原因没有功能)所以ma页面像野兽一样刷新.但我把它添加到一个功能就像你有它,它工作!谢谢!!! (2认同)