当前位置: 首页 > 面试题库 >

如何将JavaScript变量输出存储到PHP变量中?

钱展
2023-03-14
问题内容

我在JavaScript中有以下代码

<script>
var a="Hello";
</script>

PHP代码:-

<?php 
$variable = // I want the above JavaScript variable 'a' value to be stored here
?>

注意:我不希望在表单提交中使用它。我在JavaScript中有一些逻辑,我想在同一PHP页面中使用它…请让我知道我该怎么做。


问题答案:

您必须记住,如果JS和PHP位于同一个文档中,则将首先在服务器上执行PHP,然后在浏览器上执行JS,并且两者将永远不会交互(除非您在哪里用PHP输出JS,这实际上不是两个引擎之间的交互)。

考虑到这一点,最接近的方法是在JS中使用PHP变量:

<?php
$a = 'foo'; // $a now holds PHP string foo
?>
<script>
    var a = '<?php echo $a; ?>'; //outputting string foo in context of JS
                                 //must wrap in quotes so that it is still string foo when JS does execute
                                 //when this DOES execute in the browser, PHP will have already completed all processing and exited
</script>
<?php
//do something else with $a
//JS still hasn't executed at this point
?>

正如我所说,在这种情况下,PHP(全部)在服务器上首先执行,导致:

  1. 一个PHP变量$a,将其创建为字符串“ foo”
  2. $a某些JavaScript(当前未执行)的上下文中要输出的值
  3. 用PHP完成更多工作 $a
  4. 所有输出,包括带有var分配的JS,都将发送到浏览器。

如所写,这导致将以下内容发送到浏览器以执行(为清楚起见,我删除了JS注释):

<script>
    var a = 'foo';
</script>

然后,直到那时,JS才会开始执行,并将其自己的变量a设置为“ foo”(此时,PHP不在画面内)。

换句话说,如果两者位于同一个文档中,并且没有与服务器进行任何额外的交互,则JS不会对PHP产生任何影响。此外,PHP对JS的影响仅限于简单地输出某些JS或在JS上下文中输出内容的能力。



 类似资料:
  • 问题内容: 在MS SQL 2008R2上,我希望能够将消息输出捕获到变量中。我需要在许多数据库上运行脚本。捕获消息输出(来自print或raiserror的消息)并将其记录到表中。我需要从存储过程中执行此操作。 对于此脚本 我想得到 或者 更新 我决定接受@rs建议。对我来说,登录表格是最简单的方法。使用SP进行日志记录(以保持代码干净),再加上一个小的正则表达式来重构我的所有脚本。该解决方案将

  • 问题内容: 将从大型文本文件提取的列表中返回最大的列表,但是如何将输出存储为变量? 问题答案: 使用命令替换: 另外,出于可移植性考虑,我建议始终将用作参数。我遇到了一些无法使用的化身。

  • 问题内容: 我正在生成大量的XML,当用户单击表单按钮时,这些XML将作为发布变量传递到API。我还希望能够事先向用户显示XML。 该代码有点像以下结构: 我的XML正在生成一些while循环和其他内容。然后需要在两个位置(预览和表单值)中显示它。 我的问题是。我如何在变量中捕获生成的XML或其他内容,所以我只需要生成一次,然后将其打印出来就可以在预览中生成,然后在表单值中生成? 问题答案:

  • 问题内容: 我正在尝试将JavaScript变量作为PHP变量包含在PHP代码中,但是这样做有问题。单击按钮时,将调用以下功能: 可能吗? 问题答案: PHP在服务器端运行。JavaScript在请求页面的用户的浏览器中在客户端运行。到执行JavaScript时,服务器上都无法访问PHP。请阅读本文,了解有关客户端和服务器端编码的详细信息。 简而言之,这是什么: 您在办公桌下方的计算机上的浏览器中

  • 问题内容: 首先,我认为我必须将JavaScript转换为PHP,但是后来我发现,由于服务器和客户端的执行,我不能。所以现在我只想发送一个变量 到一个PHP变量 假设我单击一个按钮,就会执行JavaScript中的该函数。 现在,我不知道如何将phpvariable分配给JavaScript,以便使用phpvariable在数据库中查找内容。我知道我可以将其添加到URL或其他内容中并刷新页面,但是

  • 问题内容: 我需要一个变量来保存从数据库中检索到的结果。到目前为止,这基本上是我正在尝试但没有成功的方法。 如您所见,我对bash命令的理解不是很好。 问题答案: 我对MySQL命令行界面了解不多,但是假设您只需要帮助,可以尝试像下面这样交换命令: 它将字符串回显到MySQL。或者,您可以更喜欢并使用一些新的bash功能(here字符串) 结果相同(假设您使用的是最新的bash版本),而没有涉及e