2016-02-03 4 views
0

У меня есть эта функция для получения куки в JavaScriptУправление специального символа в печенье

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 деформируется. Смотрите результат следующего кода:

setInterval(test, 5000); 

function test(){ 
    var email = getCookie('email'); 
    console.log(email); 
} 

Результат:

[email protected] //At start 
test%2540test.eu //After 5s 
test%252540test.eu //After 10s 
test%25252540test.eu 
test%2525252540test.eu 
test%252525252540test.eu 

Почему Speical символ, такой как '@' неверно истолковываются?

ответ

0

Если ваш первый getCookie возвращает правильные данные, вы должны проверить функцию, которая изменяет данные между интервалами.

У вас возникли проблемы.

+0

Первый getCookie (после 5 секунд) получит меня 'test% 2540test.eu'. – Raccoon

Смежные вопросы