管理cookie中的特殊字符

时间:2016-02-03 14:13:33

标签: javascript cookies

我有这个函数来在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;误解了?

1 个答案:

答案 0 :(得分:0)

如果您的第一个getCookie返回正确的数据,那么您应该检查在间隔之间修改数据的函数。

有你的问题。