Я хочу, чтобы неиспользованные символы были в моем cookie (jquery) - PullRequest
6 голосов
/ 27 октября 2009

Я хочу сохранить значение href в cookie, проблема в том, что когда я делаю, cookie избегает прямой косой черты, например,

код

$.cookie ("mycookie", $link.attr("href"), { path: '/', expires: 7 });

HTML это

<li><a id="czechrepublic" href="/cz/cz.html">Česká republika</a></li>

Когда я сохраняю href, он сохраняется как

%2Fcz%2Fcz.html

Но мне нужно, чтобы он был сохранен как /cz/cz.html. Есть ли способ удаления символов в Jquery, я видел это в стандартных руководствах по cookie-файлам javascript, но я не уверен, как это сделать с плагином Jquery cookie

Спасибо

Джо

Ответы [ 3 ]

6 голосов
/ 08 февраля 2013
$.cookie.raw = true
$.cookie('mycookie','/cz/cz.html')

С здесь

5 голосов
/ 27 октября 2009

Использование decodeURIComponent(vartobedecoded.replace(/\+/g, " "));

4 голосов
/ 27 октября 2009

Когда вы извлекаете cookie через плагин jQuery cookie через $.cookie('mycookie'), он автоматически удаляется с использованием правильной функции decodeURIComponent.

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

Если вам нужен незашифрованный файл cookie, поскольку серверная часть не может быть изменена для использования закодированных файлов cookie, вы должны забыть плагин jQuery и просто установить файл cookie самостоятельно:

document.cookie= 'mycookie='+$link.attr("href");

Для значения /cz/cz.html все будет в порядке, но есть множество других символов, которые вы не можете сохранить в куки, поэтому jQuery избегает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...