javascript 设置的 cookie 无法检索
cookies set by javascript not retrievable
我在 JS 中有这个脚本
function setCookie(name, value, days) {
var d = new Date;
d.setTime(d.getTime() + 24*60*60*1000*days);
document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
}
我可以在 Chrome 浏览器选项 -> 设置中看到设置了 cookie 名称 "workLocation"。 cookie 的域是“/”,'send for' 选项是 "Any kind of Connection",'accessible to script' 选项是 "Yes"。
当我使用下面的 JS 代码调用 cookie 时,它 returns 为空。
function getCookie(name) {
var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return v ? v[2] : null;
}
alert(getCookie("workLocation"));
我曾尝试使用 PHP 显示 cookie var_dump($_COOKIE);但它只显示 codeigniter cookies "ci_session" 和 "httpUser"。我曾使用相同的 javascript 来设置和获取 cookie,它正在工作,除了这个页面。有什么解决办法吗?
服务器端和客户端的cookie不同服务器端的cookie存储在
Local Storage
客户端中的cookie存储在
Cookies
如果你想从 js 获取 cookie,你可以使用这个函数:
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var user = getCookie("username");
if (user != "") {
alert("Welcome again " + user);
} else {
user = prompt("Please enter your name:", "");
if (user != "" && user != null) {
setCookie("username", user, 365);
}
}
}
但如果您想从 php 获取 cookie,尤其是 CI
中的那些会话
你可以使用这个命令$this->session->userdata("key");
我在 JS 中有这个脚本
function setCookie(name, value, days) {
var d = new Date;
d.setTime(d.getTime() + 24*60*60*1000*days);
document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
}
我可以在 Chrome 浏览器选项 -> 设置中看到设置了 cookie 名称 "workLocation"。 cookie 的域是“/”,'send for' 选项是 "Any kind of Connection",'accessible to script' 选项是 "Yes"。
当我使用下面的 JS 代码调用 cookie 时,它 returns 为空。
function getCookie(name) {
var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return v ? v[2] : null;
}
alert(getCookie("workLocation"));
我曾尝试使用 PHP 显示 cookie var_dump($_COOKIE);但它只显示 codeigniter cookies "ci_session" 和 "httpUser"。我曾使用相同的 javascript 来设置和获取 cookie,它正在工作,除了这个页面。有什么解决办法吗?
服务器端和客户端的cookie不同服务器端的cookie存储在
Local Storage
客户端中的cookie存储在
Cookies
如果你想从 js 获取 cookie,你可以使用这个函数:
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var user = getCookie("username");
if (user != "") {
alert("Welcome again " + user);
} else {
user = prompt("Please enter your name:", "");
if (user != "" && user != null) {
setCookie("username", user, 365);
}
}
}
但如果您想从 php 获取 cookie,尤其是 CI
中的那些会话你可以使用这个命令$this->session->userdata("key");