首先,我使用Javascript函数创建一个cookie,如下面的代码所示:
function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)+ ";expires="+expire.toGMTString();
}
SetCookie('MyCookie','MyValue',7);
然后,我尝试使用CakePHP读取该值。
<?php
$cookie = $this->Cookie->read('MyCookie');
if ( $cookie == '' ){
echo "Cookie not set";
} else {
echo "Value: ".$cookie;
}
?>
结果显示cookie尚未设置。但是当使用常规Javascript函数读取时结果是不同的。
正确的方法是如何使CakePHP也可以读取由Javascript创建的cookie?
答案 0 :(得分:0)
看起来你不是在javascript中设置域名。
尝试类似:
document.cookie = cookieName+"="+escape(cookieValue)+ ";expires="+expire.toGMTString()
+ "; path=/; domain=.example.com";
答案 1 :(得分:0)
我会使用相同的组件编写和阅读cookie,否则你会对逆向工程感到疯狂。
所以我会用
$this->Cookie->write('MyCookie', array('MyValue'=>'7'));
中所述
我希望它有所帮助。
答案 2 :(得分:0)
我遇到同样的问题,最后找到解决这个问题的方法, 试试这个: - &gt;
{{'child-age-'+$index}}
现在您可以在控制器中阅读MyCookie,如
childsAges=[2,5,9]