有没有办法通过JavaScript来设定一个PHP变量
可能重复:
Using a javascript variable to set PHP variable有没有办法通过JavaScript来设定一个PHP变量
我需要做这样的事情
<script type="text/javascript" charset="utf-8">
'<?php $something; ?>' = $(".product_calculation").val();
</script>
<?php
print "from js" . $something;
?>
所以我需要设置一个变量,然后在我设置它后直接在php下使用它
简答:不需要长答案:是的。
由于PHP在服务器上运行并且jQuery在客户端上运行(在PHP已经完成之后),所以不能通过jQuery直接影响PHP变量。但是如果你真的需要的话,只要这些变量可以以某种方式维护(会话,数据库,平面文件等),以便在下次脚本运行时,就可以对服务器进行AJAX调用以设置变量值被检索。
您将需要执行ajax将变量传递回服务器。当代码在服务器上生成时,它会在服务器没有联系的客户端上执行,直到发出请求。有关jQuery实现的信息,请参阅:http://api.jquery.com/jQuery.ajax/。
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"]
当然只有第二天页面请求。
为什么你需要这样做? PHP在您的服务器上运行,然后设置到运行JavaScript的浏览器。也许你可以使用AJAX或cookie来将值发送到PHP脚本? – 2011-06-08 20:41:42