我正在使用java代码在服务器端设置cookie
response.addCookie("test1","test1");
我发现这个代码可以使用 javascript 检索 cookie
(function(){
var cookies;
function readCookie(name,c,C,i){
if(cookies){ alert("all cookies"+cookies); return cookies[name]; }
c = document.cookie.split('; ');
cookies = {};
for(i=c.length-1; i>=0; i--){
C = c[i].split('=');
cookies[C[0]] = C[1];
}
alert("required cookie"+cookies[name]);
return cookies[name];
}
window.readCookie = readCookie; // or expose it however you want
})();
我将此函数称为
alert(readCookie('test1'));
但每次我收到未定义的警报.. 我检查了 chrome 的 cookie 文件,我的 cookie 设置为
localhosttest1test1/service/login
有人可以解释一下为什么我会收到此错误吗?
最佳答案
代码似乎可以工作(我在 Firefox、Chrome 和 MSIE 中测试了它,通过使用 JavaScript 创建一些 cookie,例如 document.cookie = "test1=bla"
,它显示“required” cookiebla”)。也许您从服务器设置的 cookie 被标记为 HttpOnly
,因此 JavaScript 无法访问它?
关于java - 无法读取 cookie javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809566/