我正在努力尝试使用Javascript在浏览器中设置的codeigniter中读取cookie。
cookie在浏览器中设置如下:
// cookieContents is an array of integers
strForCookie = JSON.stringify(cookieContents);
date.setTime(date.getTime() + (2 * 24 * 60 * 60 * 1000)); // 2 days
$.cookie('savedPlaces', strForCookie, { expires: date });
我已在浏览器中检查过cookie设置是否正确。
在服务器上,我在控制器中有以下codeigniter代码:
$this->load->helper('cookie');
$savedPlaces = $this->input->get_cookie('savedPlaces');
if ($savedPlaces == false) echo("Cookie doesn't exist!");
else echo("Cookie is: ".$savedPlaces);
控制器功能由以下html调用:
<a href="/browser/saved/">Saved searches</a>
我之前从未使用过cookies,所以怀疑我做了一些根本错误的事情。有人可以照亮我吗?
答案 0 :(得分:1)
添加{path: '/'}
选项以使Cookie可用于整个网站,或添加'{path:'/ browser / saved /'}'仅在此控制器功能上接收Cookie。
$.cookie('savedPlaces', strForCookie, {expires: date, path: '/'});
默认情况下,Cookie路径设置为当前页面的路径,并且只能用于该路径。