Php jquerycookie插件不';我真的不想做饼干

Php jquerycookie插件不';我真的不想做饼干,php,javascript,ajax,cookies,Php,Javascript,Ajax,Cookies,我的代码使用javascript设置一个cookie(使用jQuery的cookie插件),然后对需要读取该cookie的php脚本进行ajax调用。jQuery cookie插件似乎有一个bug,因为PHP脚本无法读取这个cookie。此外,当我查看Chrome的资源面板时,我没有看到相关域下的cookie。此外,如果我使用Javascript的标准document.cookie方法设置cookie,cookie确实会出现在参考资料面板中,我的PHP脚本能够读取它。我想使用jQuery插件的主

我的代码使用javascript设置一个cookie(使用jQuery的cookie插件),然后对需要读取该cookie的php脚本进行ajax调用。jQuery cookie插件似乎有一个bug,因为PHP脚本无法读取这个cookie。此外,当我查看Chrome的资源面板时,我没有看到相关域下的cookie。此外,如果我使用Javascript的标准document.cookie方法设置cookie,cookie确实会出现在参考资料面板中,我的PHP脚本能够读取它。我想使用jQuery插件的主要原因是因为我正在设置的cookie值有换行符,而jQuery cookie插件似乎能够优雅地处理这一点。它是一个存储在MySQL数据库中的值,输出时这些换行符将自动转换为(br)和(p)标记。所以jQuery cookie插件似乎给了我想要的值。。。但不是在真正的饼干里

不管怎样,这是我使用的代码。请随意告诉我如何在不使用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('flavor'),并看到它实际上已经设置好了。但正如我之前所说,它没有出现在Chrome开发工具的资源面板中,所以我不相信它实际上是一个真正的cookie。。。我的PHP脚本似乎也同意这种怀疑:)

在您发布的代码中,您在客户端设置了一个名为“flavor”的cookie,并尝试在服务器上读取一个名为“comment”的cookie。我觉得你什么都得不到是有道理的

也许这只是你在发帖时的一个错误

那么,当您将AJAX请求指向

'http://' + window.location.host + '/readCookie.php'
甚至至少

'/readCookie.php'

cookie是特定于域的。

我怀疑cookie值中的换行符很可能是导致问题的原因


为什么不对cookie值进行base64编码?

是的,这是一个错误。我已经相应地更新了帖子。当我将域名更改为window.location.host时,也会发生同样的情况。实际上,这似乎是jQuery cookie插件的问题。我也用这方面的信息更新了我的帖子。你能试试这个插件吗:让我知道它是如何工作的?