У меня есть эта функция для получения куки в 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 символ, такой как '@' неверно истолковываются?
Первый getCookie (после 5 секунд) получит меня 'test% 2540test.eu'. – Raccoon