我有这个函数来在javascript中检索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 "";
}
通常它工作正常但我尝试使用存储电子邮件地址的cookie的此功能。
每次运行该功能时,cookie都会变形。请参阅以下代码的结果:
setInterval( test, 5000 );
function test(){
var email = getCookie('email');
console.log(email);
}
结果:
test@test.eu //At start
test%2540test.eu //After 5s
test%252540test.eu //After 10s
test%25252540test.eu
test%2525252540test.eu
test%252525252540test.eu
为什么特殊字符如&#39; @&#39;误解了?
答案 0 :(得分:0)
如果您的第一个getCookie
返回正确的数据,那么您应该检查在间隔之间修改数据的函数。
有你的问题。