我想将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插件做到这一点
由于
乔
答案 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会逃避它们。