我需要做这样的事情
<script type="text/javascript" charset="utf-8">
'<?php $something; ?>' = $(".product_calculation").val();
</script>
<?php
print "from js" . $something;
?>
所以我需要设置一个变量,然后在我设置它之后直接在php中使用它
答案 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>