使用Javascript& Jquery,我在点击事件上创建一个cookie,然后将用户重定向到另一个页面。我这样做是这样的:
<script type="text/javascript">
$(".my-div").click(function() {
document.cookie ="answers=:" + myAnswers + "; path=/; domain=.mydomain.com;";
setTimeout("location.href = '/my-destination-page.php/';", 5000);
});
</script>
当我到达my-destination-page.php时,我可以看到在Google Developer Tools中正确设置了Cookie。但是,PHP没有检测到它已设置:
<?php
var_dump($_COOKIE['answers']);
?>
以上返回一个很大的胖NULL。
为什么会发生这种情况?
答案 0 :(得分:1)
尝试改变,
document.cookie ="answers=:" + myAnswers + "; path=/; domain=.mydomain.com;";
到
document.cookie ="answers=:" + myAnswers + "; expires=Thu, 12 Aug 2015 20:47:11 UTC;path=/; domain=.mydomain.com;";
并检查
答案 1 :(得分:0)
我没有测试你的特定代码 - 但我知道手动构建原始cookie字符串是一个挑剔,容易出错的事情。如果您在服务器上遇到错误的cookie处理代码(不会识别您的cookie)。
由于您已经在使用jQuery,我尝试使用jQuery cookie plugin。即使您不想使用此插件进行部署,也可以使用它来设置Cookie,检查请求标头,并确定Cookie字符串的错误位置(或确定您的Cookie字符串是强>正确,你的问题出在其他地方)