我的代码用javascript设置一个cookie (使用用于jQuery的cookie插件),然后对需要读取该cookie的php脚本进行ajax调用。看来,PHP插件有一个bug,因为jQuery脚本无法读取这个cookie。此外,当我查看Chrome的参考资料面板时,我没有看到相关域下的cookie。此外,如果我使用Javascript的标准document.cookie方法设置cookie,该cookie确实会出现在参考资料面板中,并且我的PHP脚本能够读取它。我想使用jQuery插件的主要原因是,我设置的cookie值有换行符,而jQuery cookie插件似乎处理得很好。它是一个将存储在MySQL数据库中的值,在输出时,这些换行符将自动转换为(br)和(p)标记。所以jQuery曲奇插件似乎给了我我想要的价值.但不是在真正的饼干里!
不管怎么说,这是我用的密码。尽管告诉我如何在不使用jQuery cookie插件的情况下维护我需要的换行器,而不是试图找出插件/我的插件实现的错误所在。
Javascript:
$.cookie('flavor','chocolate',{expires:7});
$.get('http://example.com/readCookie.php',function(data){
console.log(data);
});readCookie.php
$myCookie = $_COOKIE['flavor'];
echo $myCookie;上面的“echo”语句根本没有回显任何内容,甚至没有空字符串。如果我尝试使用cookie的var_dump,就会得到NULL。但是,我可以在控制台中输入$.cookie(‘风味’),并看到它实际上已经设置好了。但正如我之前说过的,它没有出现在Chrome的开发工具的参考资料面板中,所以我不相信它实际上是一个真正的cookie.我的PHP脚本似乎也同意这种怀疑:)
发布于 2011-02-17 22:54:40
在您发布的代码中,您在客户端设置了一个名为“风味”的cookie,并尝试在服务器上读取一个名为“注释”的cookie。对我来说你什么都得不到是有道理的。
也许这只是你在发帖时的一个错误。
那么,当您将AJAX请求指向
'http://' + window.location.host + '/readCookie.php'甚至只是
'/readCookie.php'Cookie是特定域的。
发布于 2011-02-18 15:37:07
我怀疑cookie值中的行中断很可能导致了这些问题。
为什么base64不对cookie值进行编码呢?
https://stackoverflow.com/questions/5035688
复制相似问题