我想在我的cookie中使用未转义的字符(jquery)

时间:2009-10-27 15:37:32

标签: javascript jquery jquery-ui

我想将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中取消出现字符,我在标准的javascript cookie教程中看到了这一点,但我不知道如何用Jquery cookie插件做到这一点

由于

3 个答案:

答案 0 :(得分:6)

$.cookie.raw = true
$.cookie('mycookie','/cz/cz.html')

来自here

答案 1 :(得分:5)

使用decodeURIComponent(vartobedecoded.replace(/\+/g, " "));

答案 2 :(得分:4)

当您通过$.cookie('mycookie')通过jQuery cookie插件检索cookie时,它将使用decodeURIComponent的正确函数自动转义。

如果您需要在服务器端解码字符串,则必须使用您正在使用的任何语言的URL解码功能。

如果你需要一个未编码的cookie,因为服务器端不能改为使用编码的cookie,你应该忘记jQuery插件并且自己设置cookie:

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

对于值/cz/cz.html,这没关系,但是有很多其他字符无法存储在cookie中,这就是为什么jQuery会逃避它们。