有没有一种方法可以通过JavaScript设置php变量

Is there a way to set a php variable via JavaScript

本文关键字:JavaScript 可以通过 设置 php 变量 方法 一种 有没有      更新时间:2023-09-26

可能重复:
使用javascript变量设置PHP变量

我需要做一些类似的事情

<script type="text/javascript" charset="utf-8">
    '<?php $something; ?>' = $(".product_calculation").val();
</script>
<?php
  print "from js" . $something;
?>

所以我需要设置一个变量,然后在下面的php中直接使用它

不可以。PHP由您的服务器执行。jQuery稍后由客户端执行
您可以做的是使用params进行AJAX请求。

简短回答:否。详细回答:是。

您不能通过jQuery直接影响PHP变量,因为PHP在服务器上运行,jQuery在客户端上运行(在PHP已经完成之后)。但是,如果您真的需要,您可以对服务器进行AJAX调用来设置变量值,只要这些变量可以以某种方式维护(会话、数据库、平面文件等),以便下次运行脚本时可以检索到值。

您需要使用ajax将变量传递回服务器。当代码在服务器上生成时,它在客户端上执行,直到发出请求,服务器才与客户端联系。请参阅:http://api.jquery.com/jQuery.ajax/有关jquery实现的信息。

PHP执行服务器端并输出HTML和Javascript。Javascript随后在客户端的浏览器上执行。这是不可能的。

相反,您可以让Javascript设置一个表单元素或参数,然后将其传递给PHP进行设置。或者按照其他人的建议使用AJAX。

PHP变量仅存在于web服务器中。PHP解析并执行后,生成的HTML将发送到浏览器。生成的页面将包含您的javascript,然后在浏览器的上下文中运行。所以,不,你要求做的是不可能的。

不是那样的。但是有多种选择可以将JS变量转移到PHP。(除非您有PHP应用程序服务器,否则变量交换的直接RPC连接似乎是不可行的)。

然而,你通常可以使用的是一个cookie:

document.cookie = "something="+$(".product_calculation").val();

因此,它在PHP中不会变成$something,而是$_COOKIE["something"],当然只有在下一页请求时才会变成。