将PHP变量发送到javascript函数

时间:2012-12-05 20:27:52

标签: php javascript post get

我有一个生成变量的php文件,我希望将变量放入一个javascript函数,该函数由主页上的onclick调用。这可以从PHP发送到JavaScript吗?

6 个答案:

答案 0 :(得分:18)

您可以执行以下操作:

<script type='text/javascript'>
    document.body.onclick(function(){
        var myVariable = <?php echo(json_encode($myVariable)); ?>;
    };
</script>

答案 1 :(得分:5)

您的JavaScript必须在PHP解析的文件中定义。

例如,在index.php中,您可以放置​​

<?php
$time = time();
?>
<script>
    document.write(<?php echo $time; ?>);
</script>

答案 2 :(得分:5)

只需写下:

<script>
    var my_variable_name = "<?php echo $php_string; ?>";
</script>

现在,它可以在上面代码的任何位置以my_variable_name的名称作为JavaScript变量使用。

答案 3 :(得分:2)

如果我理解正确,你应该能够做到以下几点:

function clicked() {
    var someVariable="<?php echo $phpVariable; ?>";
}

答案 4 :(得分:1)

一个很好的选择是使用jQuery / AJAX。 Look at these examples并在您的服务器上试用它们。在此示例中,在FILE1.php中,请注意它正在传递空值。如果您愿意,您可以传递一个值,这可能看起来像这样(假设javascript vars称为usernamepassword

data: 'username='+username+'&password='+password,

在FILE2.php示例中,您将检索这些值:

$uname = $_POST['username'];
$pword = $_POST['password'];

然后执行MySQL查找并返回值:

echo 'You are logged in';

这会将消息You are logged in传递给FILE1.php中的success函数,消息字符串将存储在名为“data”的变量中。因此,成功函数中的alert(data);行将提醒该消息。当然,您可以echo任何您喜欢的内容,甚至是大量的HTML,例如整个表结构。

Here is another good example要审核。

方法是创建表单,然后使用jQuery检测按钮按下并通过AJAX将数据提交到辅助PHP文件。上面的例子说明了如何做到这一点。

辅助PHP文件接收变量(如果发送任何变量)并返回响应(无论您选择发送什么)。然后,该响应将在AJAX调用的Success:部分中显示为“data”(在这些示例中)。

jQuery / AJAX代码是javascript,因此您有两个选择:您可以将它放在主PHP文档中的<script type="text/javascript"></script>标记内,也可以放在PHP文档底部的<?php include "my_javascript_stuff.js"; ?>。如果您使用的是jQuery,请不要忘记在给出的示例中包含jQuery库。

在你的情况下,听起来你几乎可以反映我建议的第一个例子,在AJAX成功函数中不发送任何数据并接收响应。但是,无论您需要对数据做什么,都必须在成功函数内部进行。起初看起来有点奇怪,但它确实有效。

答案 5 :(得分:0)

您可以将PHP值传递给JavaScript。 PHP将执行服务器端,因此将计算该值,然后您可以将其回显到包含javascript的HTML。然后,javascript将在客户端浏览器中执行,其值为PHP计算服务器端。

<script type="text/javascript">
    // Do something in JavaScript
    var x = <?php echo $calculatedValue; ?>;
    // etc..
</script>