将 PHP 变量发送到 JavaScript 函数

新手上路,请多包涵

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

原文由 user1879926 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 365
2 个回答

您可以执行以下操作:

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

原文由 DiverseAndRemote.com 发布,翻译遵循 CC BY-SA 3.0 许可协议

一个很好的选择是使用 jQuery/AJAX。 查看这些示例 并在您的服务器上试用它们。在此示例中,在 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 中的成功函数,并且消息字符串将存储在名为“data”的变量中。因此,成功函数中的 alert(data); 行会提醒该消息。当然,你可以 echo 任何你喜欢的东西,甚至是大量的HTML,比如整个表格结构。

这是另一个值得回顾的好例子

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

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

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

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

原文由 crashwap 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题