将变量从javascript传递给php

时间:2012-11-21 14:36:25

标签: php javascript

我使用cookie通过以下代码从javascript php传递变量。

<script type="text/javascript">
function gTest() {
               var country = 'hello testing';
    document.cookie = 'name=document.write(country);' ; 
         document.write(country);
}
gTest();
</script>


<?php  
echo "<br>";
     var_dump($_COOKIE['name']);  
?> 

如果我们改为

,它可以正常工作
    document.cookie = 'name=hello' ; 

我想在同一页面中将变量值传递给php ...我不想发送到另一个页面。

感谢

3 个答案:

答案 0 :(得分:2)

$_COOKIE填充了从浏览器发送到服务器的数据。

在发回响应并执行JavaScript之前,更改cookie的JS不会运行。

在您发出新的HTTP请求之前,$_COOKIE中的值不会更新。

答案 1 :(得分:0)

您可以使用XHR。

JavaScript(使用jQuery):

$.ajax('script.php', { 
    data: { 'name': 'hello' }
});

PHP:

 var_dump($_GET['name']);

答案 2 :(得分:0)

你不能。

好的,我想我得解释一下。在您的页面上,首先是Javascript,然后是PHP代码,但它不按该顺序执行。 首先,服务器执行PHP代码,将页面作为HTML发送,并在客户端执行javascript。

如果你真的不想重新加载整个页面,唯一的方法就是对你的PHP代码所在的页面使用ajax请求。只需使用JQuery并用以下代码替换您的PHP代码:

$('#result').load('showCookie.php');

showCookie.php的内容将是您的var_dump,页面将完全按照您的意愿执行,除非您使用JQuery调用了其他页面。