有没有办法通过JavaScript设置php变量

时间:2011-06-08 20:39:35

标签: php javascript jquery

  

可能重复:
  Using a javascript variable to set PHP variable

我需要做这样的事情

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

<?php
  print "from js" . $something;
?>

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

6 个答案:

答案 0 :(得分:8)

不,你不能。 PHP由您的服务器执行。 jQuery稍后由客户提供。
您可以做的是使用params的AJAX请求。

答案 1 :(得分:2)

简答:不。答案很长:是的。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

你可以做的是让Javascript设置一个表单元素或参数,然后将其传递给PHP来设置它。或者像其他人建议的那样使用AJAX。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

不是那种方式。但是有很多选项可以将JS变量传递给PHP。 (除非您有PHP应用程序服务器,否则变量交换的直接RPC连接似乎不可行)。

你通常可以使用的是cookie:

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

因此它不会在PHP中成为$something,而是$_COOKIE["something"],当然也只会在下一页请求中成为。{/ p>