Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не получается вытащить куку! (https://javascript.ru/forum/misc/44929-ne-poluchaetsya-vytashhit-kuku.html)

zoinx2010 06.02.2014 22:52

Не получается вытащить куку!
 
Надо было вытащить 3 куки 2 вытащил без проблем, а у третьей имя "sou-et-55" и никак не получается её в переменную забить ни плагинами не чистым яваскриптом? это из за знака "-"? подскажите пожалуйста как можно победить такую ситуацию, буду очень признателен)

Deff 07.02.2014 03:22

zoinx2010,
Кодируйте имена со спец символами через encodeURIComponent
Типо
<script type="text/javascript">
function setcOOkie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = encodeURIComponent(a)+'='+ encodeURIComponent(b) +(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcOOkie(a) {var b = new RegExp(decodeURIComponent(a)+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? decodeURIComponent(c[1]) : false;}

setcOOkie("Вася Пупкин ох-л","Да?, Действительно ????",20000) ;
alert("Записано!");
</script>

Считываем!
<script type="text/javascript">
function setcOOkie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = encodeURIComponent(a)+'='+ encodeURIComponent(b) +(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcOOkie(a) {var b = new RegExp(encodeURIComponent(a)+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? decodeURIComponent(c[1]) : false;}

alert(getcOOkie("Вася Пупкин ох-л"));
</script>

zoinx2010 07.02.2014 12:52

к сожалению записать куку я не могу, тока считать

freethetan 07.02.2014 15:22

У меня работает!
Пишет и читает!
Ubuntu Chrome

kostyanet 07.02.2014 19:57

Цитата:

Сообщение от zoinx2010
не чистым яваскриптом

Покажите ваш чистый.

Если там типа cook.sou-et-55 корячится, то обходят легко так cook['sou-et-55'];

Deff 07.02.2014 20:14

var namecocie = encodeURIComponent('sou-et-55')
setcokie(namecocie, ....
var namecocie = encodeURIComponent('sou-et-55')
getcokie(namecocie, ...


Часовой пояс GMT +3, время: 15:23.